Kurzusok
/
Elm
Elm
/
Feladatok
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Tanulófeladat

Bevezetés

Listák

Az Elmben a List nulla vagy több azonos típusú értékből álló, megváltoztathatatlan gyűjtemény.

A listákat így definiálhatod:

empty = []
singleValue = [ 5 ]
threeValues = [ "a", "b", "c" ]

A leggyakoribb módja annak, hogy elemet adj egy listához, a :: (cons) operátor:

twoToFour = [ 2, 3, 4 ]
oneToFour = 1 :: twoToFour --> [ 1, 2, 3, 4 ]

A listákat a List modulban definiált függvényekkel és operátorokkal, illetve mintaillesztéssel kezelheted

describe : List String -> String
describe list =
    case list of
        [] ->
            "Empty list"

        [ "hello" ] ->
            "Singleton list with: hello"

        x :: xs ->
            "Non-empty list with head: " ++ x

describe []                   --> "Empty list"
describe [ "hello" ]          --> "Singleton list with: hello"
describe [ "hello", "world" ] --> "Non-empty list with head: hello"

Utasítások

Ebben a feladatban olyan kódot írsz majd, amely egy listát vezet azokról a programozási nyelvekről, amelyeket az Exercism-ön szeretnél megtanulni. Hat részfeladat vár rád, és mindegyik a listákkal való munkáról szól.

1. Hozz létre egy új listát

Ahhoz, hogy számon tudd tartani, milyen nyelveket szeretnél megtanulni, létre kell hoznod egy új listát. Definiáld a newList konstanst, amely egy új, üres listát tartalmaz.

newList
    --> []

2. Definiálj egy meglévő listát

Jelenleg van egy papírod, amelyen azok a nyelvek szerepelnek, amelyeket meg szeretnél tanulni: az Elm, a Clojure és a Haskell. Definiáld az existingList konstanst, hogy ezt a listát reprezentálja.

existingList
    --> [ "Elm", "Clojure", "Haskell" ]

3. Adj hozzá egy új nyelvet a listához

Ahogy felfedezed az Exercism-öt, és egyre érdekesebb nyelvekre bukkansz, szeretnéd ezeket felvenni a listádra. Valósítsd meg az addLanguage függvényt, amely egy új nyelvet szúr be a lista elejére.

addLanguage "TypeScript" [ "JavaScript", "CoffeeScript" ]
    --> [ "TypeScript", "JavaScript", "CoffeeScript" ]

4. Számold meg a listán lévő nyelveket

A nyelvek kézi megszámolása kényelmetlen. Valósítsd meg a countLanguages függvényt, amely megszámolja, hány nyelv van a listádon.

countLanguages [ "C#", "Racket", "Rust", "Ruby" ]
    --> 4

5. Fordítsd meg a listát

Egy ponton rájössz, hogy a listád valójában visszafelé van rendezve! Valósítsd meg a reverseList függvényt, amely megfordítja a listádat.

reverseList [ "Prolog", "C", "Idris", "Assembly" ]
    --> [ "Assembly", "Idris", "C", "Prolog" ]

6. Ellenőrizd, hogy izgalmas-e a lista

Bár minden nyelvet szeretsz, az Elm különleges helyet foglal el a szívedben. Ezért igazán izgatott leszel egy nyelvlistától, ha:

  • A lista első eleme az Elm.
  • Vagy a lista második eleme az Elm, és a listán legfeljebb három nyelv szerepel.

Valósítsd meg az excitingList függvényt, amely ellenőrzi, hogy egy nyelvlista izgalmas-e:

excitingList [ "Nim", "Elm" ]
    --> True
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Elm Exercism

Készen állsz elkezdeni a(z) Tracks on Tracks on Tracks feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Elm nyelvet 28 fogalom110 feladat segítségével, valódi emberi mentorálással, mindez ingyen.