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

Tracks on Tracks on Tracks

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

Εισαγωγή

Λίστες

Μια List στην Elm είναι μια αμετάβλητη συλλογή από μηδέν ή περισσότερες τιμές του ίδιου τύπου.

Οι λίστες μπορούν να οριστούν ως εξής:

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

Ο πιο συνηθισμένος τρόπος για να προσθέσεις ένα στοιχείο σε μια λίστα είναι μέσω του τελεστή :: (cons):

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

Οι λίστες χειρίζονται με συναρτήσεις και τελεστές που ορίζονται στην ενότητα List ή με αντιστοίχιση προτύπων

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"

Οδηγίες

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

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

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

newList
    --> []

2. Όρισε μια υπάρχουσα λίστα

Αυτή τη στιγμή, έχεις ένα χαρτί όπου είναι γραμμένες οι γλώσσες που θέλεις να μάθεις: Elm, Clojure και Haskell. Όρισε τη σταθερά existingList ώστε να αναπαριστά αυτή τη λίστα.

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

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

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

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

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

Το να μετράς τις γλώσσες με το χέρι είναι άβολο. Υλοποίησε τη συνάρτηση countLanguages για να μετράς το πλήθος των γλωσσών στη λίστα σου.

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

5. Αντιστρέψε τη λίστα

Κάποια στιγμή, συνειδητοποιείς ότι η λίστα σου είναι στην πραγματικότητα ταξινομημένη ανάποδα! Υλοποίησε τη συνάρτηση reverseList για να αντιστρέψεις τη λίστα σου.

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

6. Έλεγξε αν η λίστα είναι συναρπαστική

Αν και αγαπάς όλες τις γλώσσες, η Elm έχει μια ξεχωριστή θέση στην καρδιά σου. Έτσι, ενθουσιάζεσαι πραγματικά με μια λίστα γλωσσών αν:

  • Το πρώτο στοιχείο της λίστας είναι η Elm.
  • Ή το δεύτερο στοιχείο της λίστας είναι η Elm και η λίστα περιέχει τρεις ή λιγότερες γλώσσες.

Υλοποίησε τη συνάρτηση excitingList για να ελέγχεις αν μια λίστα γλωσσών είναι συναρπαστική:

excitingList [ "Nim", "Elm" ]
    --> True
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Elm Exercism

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

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