函式引數
type Dog = Dog String
dogName1 dog =
case dog of
Dog name ->
name
dogName2 (Dog name) ->
name
dogName1
和 dogName2
是等價的。請注意,這僅適用於具有單個建構函式的 ADT。
type alias Pet =
{ name: String
, weight: Float
}
render : Pet -> String
render ({name, weight} as pet) =
(findPetEmoji pet) ++ " " ++ name ++ " weighs " ++ (toString weight)
findPetEmoji : Pet -> String
findPetEmoji pet =
Debug.crash "Implementation TBD"
在這裡,我們解構一條記錄,並獲得對未構造記錄的引用。