Elm Language
Dopasowywanie wzorów
Szukaj…
Argumenty funkcji
type Dog = Dog String
dogName1 dog =
case dog of
Dog name ->
name
dogName2 (Dog name) ->
name
dogName1 i dogName2 są równoważne. Zauważ, że działa to tylko w przypadku ADT, które mają jeden konstruktor.
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"
Tutaj dekonstruujemy zapis, a także otrzymujemy odniesienie do zapisu nieskonstruowanego.
Argument zdekonstruowany jednego typu
type ProjectIdType = ProjectId String
getProject : ProjectIdType -> Cmd Msg
getProject (ProjectId id) =
Http.get <| "/projects/" ++ id
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow