Kurzusok
/
Clojure
Clojure
/
Feladatok
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Tanulófeladat

Bevezetés

A Clojurében a listák kollekciók, csakúgy, mint más nyelvek listái. A Lisp család többi nyelvéhez hasonlóan a Clojure kerek zárójelekkel fejezi ki a listákat.

A Clojure listáit kétféleképpen hozhatod létre. A list függvénnyel létrehozhatsz egy listát, vagy quote-tal idézhetsz egy literál listát.

A listák azért különlegesek, mert a Clojure hívásokként kezeli őket. Azt várja, hogy a hívás egy operátorral kezdődjön, ami általában egy függvény. A lista többi elemét operandusnak tekinti, vagyis ezek lesznek a függvény argumentumai.

Éppen amiatt, ahogy a Clojure a listákat kezeli, nem hozhatunk létre közvetlenül literál listát. Ha egy listát quote-tal vagy annak rövidítésével, a ' jellel idézel, az jelzi, hogy a listát nem szabad kiértékelni.

Néhány modern nyelvtől eltérően a Clojure listái heterogének, vagyis belül többféle típusú elemet is tartalmazhatnak, például '(2 "a" "b" 3). Más Lispekkel ellentétben a Clojurében az üres lista igaz értékű, és nem egyenlő a nil-lel vagy a false-szal.

Utasítások

Ebben a feladatban olyan kódot írsz, amely azoknak a programozási nyelveknek a listáját dolgozza fel, amelyeket az Exercism platformon szeretnél gyakorolni.

Hat részfeladat vár rád.

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

Mielőtt nyelveket adhatnál hozzá, először létre kell hoznod egy új listát. Definiálj egy függvényt, amely egy üres listát ad vissza.

(new-list)
;; => ()

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

Miközben az Exercism-öt böngészve olyan nyelveket találsz, amelyeket meg szeretnél tanulni, hozzá kell majd tudnod adni őket a listádhoz. Definiálj egy függvényt, amely egy új nyelvet a listád elejére szúr be.

(add-language '("Clojurescript") "JavaScript")
;; => '("JavaScript" "Clojurescript")

3. Ellenőrizd a legutóbb hozzáadott nyelvet

Szeretnéd gyorsan ellenőrizni, hogy melyik nyelvet adtad hozzá épp. Definiálj egy függvényt, amely a listád első nyelvét adja vissza.

(first-language '("Haskell" "Python"))
;; => "Haskell"

4. Távolítsd el az első nyelvet a listáról

Néha meggondolod magad egy nyelvvel kapcsolatban, amelyet épp hozzáadtál. Definiálj egy függvényt, amely eltávolítja az első nyelvet a listádról.

(remove-language '("Common Lisp" "Racket" "Scheme"))
;; => '("Racket" "Scheme")

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

A nyelveket egyenként megszámolni kényelmetlen. Definiálj egy függvényt, amely megszámolja, hány nyelv van a listádon.

(count-languages '("C#" "Racket" "Rust" "Ruby"))
;; => 4

6. Rakd össze az egészet

Definiálj egy learning-list függvényt, amelyben a fentebb definiált függvények némelyikét fogod használni.

  • Hozz létre egy üres listát

  • Adj hozzá 2 új programozási nyelvet a listához.

    • „Clojure”
    • „Lisp”
  • Távolítsd el a „Lisp” nyelvet a listáról, mert lehet, hogy nem lesz elég időd rá idén, és elég hasonló a Clojure-hoz.

  • Adj hozzá még 2 programozási nyelvet a listához.

    • „Java”
    • „JavaScript”
  • Add vissza a nyelvek teljes számát. Tipp: 3-nak kell lennie.

(learning-list)
;; => 3
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Clojure 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) Clojure nyelvet 12 fogalom105 feladat segítségével, valódi emberi mentorálással, mindez ingyen.