Διαδρομές
/
Clojure
Clojure
/
Ασκήσεις
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Άσκηση εκμάθησης

Εισαγωγή

Στην Clojure, οι λίστες είναι συλλογές, όπως ακριβώς οι λίστες σε άλλες γλώσσες. Όπως και άλλες γλώσσες της οικογένειας Lisp, η Clojure χρησιμοποιεί παρενθέσεις για να εκφράσει λίστες.

Οι λίστες της Clojure μπορούν να δημιουργηθούν με έναν από δύο τρόπους. Η συνάρτηση list μπορεί να δημιουργήσει μια λίστα, ή μπορείς να κάνεις quote σε μια λίστα literal.

Οι λίστες είναι ξεχωριστές γιατί η Clojure τις αντιμετωπίζει ως κλήσεις. Περιμένει η κλήση να ξεκινά με έναν τελεστή, που συνήθως είναι μια συνάρτηση. Τα υπόλοιπα στοιχεία της λίστας θεωρούνται τελούμενα, δηλαδή γίνονται τα ορίσματα της συνάρτησης.

Η ειδική μεταχείριση των λιστών από τη Clojure είναι ο λόγος που δεν μπορούμε να δημιουργήσουμε απευθείας μια λίστα literal. Το να κάνεις quote σε μια λίστα, με το quote ή τη συντομογραφία του ', δείχνει ότι η λίστα δεν πρέπει να αξιολογηθεί.

Σε αντίθεση με κάποιες σύγχρονες γλώσσες, οι λίστες της Clojure είναι ετερογενείς, δηλαδή μπορούν να περιέχουν στοιχεία διαφορετικών τύπων, π.χ. '(2 "a" "b" 3). Σε αντίθεση με άλλες Lisp, μια κενή λίστα στη Clojure είναι truthy και δεν είναι ισοδύναμη με nil ή false.

Οδηγίες

Σε αυτή την άσκηση θα γράψεις κώδικα για να επεξεργαστείς μια λίστα με γλώσσες προγραμματισμού που σκοπεύεις να εξασκήσεις από την πλατφόρμα Exercism.

Έχεις έξι εργασίες.

1. Δημιούργησε μια νέα λίστα

Πριν μπορέσεις να προσθέσεις γλώσσες, θα πρέπει να ξεκινήσεις δημιουργώντας μια νέα λίστα. Όρισε μια συνάρτηση που επιστρέφει μια κενή λίστα.

(new-list)
;; => ()

2. Πρόσθεσε μια νέα γλώσσα στη λίστα

Καθώς εξερευνάς το Exercism και βρίσκεις γλώσσες που θέλεις να μάθεις, θα πρέπει να μπορείς να τις προσθέτεις στη λίστα σου. Όρισε μια συνάρτηση που προσθέτει μια νέα γλώσσα στην αρχή της λίστας σου.

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

3. Έλεγξε τη γλώσσα που προστέθηκε τελευταία

Θα θέλεις να ελέγχεις γρήγορα ποια γλώσσα μόλις πρόσθεσες. Όρισε μια συνάρτηση που επιστρέφει την πρώτη γλώσσα από τη λίστα σου.

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

4. Αφαίρεσε την πρώτη γλώσσα από τη λίστα

Μερικές φορές θα αλλάξεις γνώμη για μια γλώσσα που μόλις πρόσθεσες. Όρισε μια συνάρτηση που αφαιρεί την πρώτη γλώσσα από τη λίστα σου.

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

5. Μέτρησε τις γλώσσες στη λίστα

Το να μετράς τις γλώσσες μία προς μία δεν είναι βολικό. Όρισε μια συνάρτηση που μετράει τον αριθμό των γλωσσών στη λίστα σου.

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

6. Συνδύασέ τα όλα

Όρισε μια συνάρτηση learning-list, μέσα στην οποία θα χρησιμοποιήσεις μερικές από τις συναρτήσεις που όρισες παραπάνω.

  • Δημιούργησε μια κενή λίστα

  • Πρόσθεσε 2 νέες γλώσσες προγραμματισμού στη λίστα.

    • "Clojure"
    • "Lisp"
  • Αφαίρεσε τη "Lisp" από τη λίστα, καθώς μπορεί να μην έχεις αρκετό χρόνο για τη χρονιά, και μοιάζει αρκετά με την Clojure.

  • Πρόσθεσε άλλες 2 γλώσσες προγραμματισμού στη λίστα.

    • "Java"
    • "JavaScript"
  • Επίστρεψε τον συνολικό αριθμό των γλωσσών. Υπόδειξη: θα πρέπει να είναι 3.

(learning-list)
;; => 3
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Clojure Exercism

Έτοιμος να ξεκινήσεις την άσκηση Tracks on Tracks on Tracks;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.