1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-12 17:54:26 +02:00

Update elm.html.markdown

This commit is contained in:
Ondřej Žára
2016-04-04 12:27:54 +02:00
committed by Robin Pokorný
parent f7e0953340
commit 1d15820b8f

View File

@@ -27,14 +27,14 @@ Elm se hodí k tvorbě webových uživatelských rozhraní a her.
8 - 1 -- 7 8 - 1 -- 7
10 * 2 -- 20 10 * 2 -- 20
-- Každý číselný literál bez desetinné tečky je typu Int nebo Float. -- Každé číslo bez desetinné tečky je typu Int nebo Float.
33 / 2 -- 16.5 s reálným dělením 33 / 2 -- 16.5 s reálným dělením
33 // 2 -- 16 s celočíselným dělením 33 // 2 -- 16 s celočíselným dělením
-- Umocňování -- Umocňování
5 ^ 2 -- 25 5 ^ 2 -- 25
-- Logické proměnné -- Pravdivostní proměnné
not True -- False not True -- False
not False -- True not False -- True
1 == 1 -- True 1 == 1 -- True
@@ -53,7 +53,7 @@ not False -- True
-- Každá položka seznamu musí být stejného typu. -- Každá položka seznamu musí být stejného typu.
["příliš", "žluťoučký", "kůň", "úpěl"] ["příliš", "žluťoučký", "kůň", "úpěl"]
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
-- Druhý příklad lze také zapsat pomocí dvou teček. -- Druhý příklad lze zapsat také pomocí dvou teček.
[1..5] [1..5]
-- Spojovat seznamy lze stejně jako řetězce. -- Spojovat seznamy lze stejně jako řetězce.
@@ -78,7 +78,7 @@ List.head [] -- Nothing
fst ("elm", 42) -- "elm" fst ("elm", 42) -- "elm"
snd ("elm", 42) -- 42 snd ("elm", 42) -- 42
-- Prázná n-tice, neboli "unit", se občas používá jako placeholder. -- Prázná n-tice, neboli "unit", se občas používá jako zástupný symbol.
-- Je to jediná hodnota svého typu, který se také nazývá "Unit". -- Je to jediná hodnota svého typu, který se také nazývá "Unit".
() ()
@@ -136,30 +136,30 @@ case List.head seznam of
-- Syntaxe funkcí je v Elmu velmi úsporná, založená spíše na mezerách -- Syntaxe funkcí je v Elmu velmi úsporná, založená spíše na mezerách
-- než na závorkách. Neexistuje tu klíčové slovo "return". -- než na závorkách. Neexistuje tu klíčové slovo "return".
-- Funkci defunujeme jejím jménem, argumenty, rovnítkem a tělem. -- Funkci definujeme jejím jménem, parametry, rovnítkem a tělem.
vynasob a b = vynasob a b =
a * b a * b
-- Funkci voláme předáním argumentů (bez oddělujících čárek). -- Funkci voláme předáním parametrů (bez oddělujících čárek).
vynasob 7 6 -- 42 vynasob 7 6 -- 42
-- Částečně aplikované funkci předáme pouzne některé argumenty. -- Částečně aplikované funkci předáme pouzne některé parametry.
-- Poté zvolíme nové jméno. -- Poté zvolíme nové jméno.
zdvoj = zdvoj =
vynasob 2 vynasob 2
-- Konstanty jsou podobné, ale nepřijímají žádné argumenty. -- Konstanty jsou podobné, ale nepřijímají žádné parametry.
odpoved = odpoved =
42 42
-- Předejte funkci jako argument jiným funkcím. -- Předejte funkci jako parametr jiným funkcím.
List.map zdvoj [1..4] -- [2, 4, 6, 8] List.map zdvoj [1..4] -- [2, 4, 6, 8]
-- Nebo použijte anonymní funkci. -- Nebo použijte anonymní funkci.
List.map (\a -> a * 2) [1..4] -- [2, 4, 6, 8] List.map (\a -> a * 2) [1..4] -- [2, 4, 6, 8]
-- V definici funkce lze zapsat vzor, může-li nastat pouze jeden případ. -- V definici funkce lze zapsat vzor, může-li nastat pouze jeden případ.
-- Tato funkce přijímá jednu dvojici místo dvou argumentů. -- Tato funkce přijímá jednu dvojici místo dvou parametrů.
obsah (sirka, delka) = obsah (sirka, delka) =
sirka * delka sirka * delka
@@ -193,7 +193,7 @@ delkaSeznamu seznam =
-- Funkce se volají před jakýmkoli infixovým operátorem. Závorky určují prioritu. -- Funkce se volají před jakýmkoli infixovým operátorem. Závorky určují prioritu.
cos (degrees 30) ^ 2 + sin (degrees 30) ^ 2 -- 1 cos (degrees 30) ^ 2 + sin (degrees 30) ^ 2 -- 1
-- Nejprve se aplikuje "degrees" na číslo 30, výsledek je pak předán trigonometrickým -- Nejprve se aplikuje "degrees" na číslo 30, výsledek je pak předán trigonometrickým
-- funkcím, které jsou poté umocněny na druhou, na závěr proběhne sčítání. -- funkcím, které jsou následně umocněny na druhou, na závěr proběhne sčítání.
{-- Typy a typové anotace --} {-- Typy a typové anotace --}
@@ -205,19 +205,19 @@ cos (degrees 30) ^ 2 + sin (degrees 30) ^ 2 -- 1
"ahoj" : String "ahoj" : String
True : Bool True : Bool
-- Funkce mají také typy. Čtěte -> jako "vrací". -- Funkce mají také typy. Čtěte "->" jako "vrací".
-- O typu na konci uvažujte jako návratovém typu, o ostatních jako typech argumentů. -- O typu na konci uvažujte jako návratovém typu, o ostatních jako typech argumentů.
not : Bool -> Bool not : Bool -> Bool
round : Float -> Int round : Float -> Int
-- Když definujete hodnotu je dobrým zvykem zapsat nad ní její typ. -- Když definujete hodnotu, je dobrým zvykem zapsat nad ni její typ.
-- Anotace je formou dokumentace, která je ověřována překladačem. -- Anotace je formou dokumentace, která je ověřována překladačem.
zdvoj : Int -> Int zdvoj : Int -> Int
zdvoj x = x * 2 zdvoj x = x * 2
-- Funkce jako argument je uzavřena v závorkách. -- Funkce jako parametr je uzavřena v závorkách.
-- Typy s malým počátečním písmenem jsou typové proměnné: -- Typy s malým počátečním písmenem jsou typové proměnné:
-- mohou být libovolného typu, ale v každém volání musí být konzistetní. -- mohou být libovolného typu, ale v každém volání musí být stejné.
List.map : (a -> b) -> List a -> List b List.map : (a -> b) -> List a -> List b
-- "List tečka map je typu a-vrací-b, vrací seznam-položek-typu-a, vrací seznam-položek-typu-b." -- "List tečka map je typu a-vrací-b, vrací seznam-položek-typu-a, vrací seznam-položek-typu-b."
@@ -269,8 +269,8 @@ type Strom a =
-- "Typ strom-prvků-a je vrchol, nebo uzel obsahující a, strom-prvků-a a strom-prvků-a." -- "Typ strom-prvků-a je vrchol, nebo uzel obsahující a, strom-prvků-a a strom-prvků-a."
-- Vzory se shodují s tagy. Tagy s velkým počátečním písmenem odpovídají přesně. -- Vzory se shodují s tagy. Tagy s velkým počátečním písmenem odpovídají přesně.
-- Proměnné malým písmem odpovídají čemukoli. Podtržítko jaké odpovídá čemukoli, -- Proměnné malým písmem odpovídají čemukoli. Podtržítko také odpovídá čemukoli,
-- ale symbolizuje, že se nebude dále používat. -- ale určuje, že tuto hodnotu dále nechceme používat.
nejviceVlevo : Strom a -> Maybe a nejviceVlevo : Strom a -> Maybe a
nejviceVlevo strom = nejviceVlevo strom =
case strom of case strom of
@@ -304,7 +304,7 @@ import Dict
-- Stále lze volat Dict.insert. -- Stále lze volat Dict.insert.
import Dict exposing (Dict) import Dict exposing (Dict)
-- Přejmonování importu. -- Přejmenování importu.
import Graphics.Collage as C import Graphics.Collage as C
{-- Porty --} {-- Porty --}