Elm biblioteket
Der er en masse indbyggede funktioner i Elm. Dertil kommer, at der er massere af tilgængelige moduler. Her er beskrevet de funktioner, som du har tilgængelig i Template.elm.
Attributes
class: String -> Attribute Msg
class tager en tekstsstreng som input og returnerer en en
Attribute Msg, som sætter HTML-class-attributten til tekststrengens værdi. For eksempel vil
Html.div [ Attribute.class "myClass" ] []
give anledning til følgende HTML:
<div class="myClass">
</div>
Html
div: List (Attribute Msg) -> List (Html Msg) -> Html Msg
div tager en liste af
Attribute Msg og en liste af
Html Msg som input. Den første liste skal forstås som de attributes, der skal sætte på
<div></div>-elementet, mens den anden liste er elementets børn. For eksempel vil
Html.div [ Attribute.class "myClass" ] [ Html.div [] [] ]
give anledning til følgende HTML:
<div class="myClass">
<div></div>
</div>
List
repeat: Int -> a -> List a
repeat tager et helttal og et element, som skal gentages, som input. For eksempel har vi:
repeat 3 "hej" == ["hej", "hej", "hej"]
repeat 2 (Html.div [] []) == [Html.div [] [], Html.div [] []]
map: (a -> b) -> List a -> List b
map tager en funktion og en liste som input. Den bruger funktionen på hvert element i listen og returnerer en ny liste med funktionsværdierne. For eksempel har vi:
doubleMe: Int -> Int
doubleMe x =
x*x
List.map DoubleMe [1,2,3] == [2,4,6]
member: a -> List a -> Bool
member tager et værdi af typen
a som input og tjekker, om denne værdi er på en liste med typen
List a.
List.member "hej" ["dig", "mig", "hej"] == True
List.member 3 [1, 2, 4] == False