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