Διαδρομές
/
Elm
Elm
/
Ασκήσεις
/
Τα λαχταριστά λαζάνια του Lucian
Τα λαχταριστά λαζάνια του Lucian

Τα λαχταριστά λαζάνια του Lucian

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

Εισαγωγή

Βασικά 1

Σταθερές και συναρτήσεις

Μια σταθερή τιμή ορίζεται με name = expression, όπου στην Elm, τα πάντα εκτός από τους ορισμούς είναι εκφράσεις.

five = 5

six = 3 + 3

Οι συναρτήσεις ορίζονται με name parameters... = expression, με τις παραμέτρους να χωρίζονται μόνο με κενό.

add number1 number2 = number1 + number2

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

five = add 2 3

Οι παρενθέσεις μπορούν να χρησιμοποιηθούν για να καθορίσουν τη σειρά υπολογισμού μιας έκφρασης.

six = add 2 (1 * 4)

twelve = add 2 1 * 4

Εσοχή / σημαντικά κενά

Η Elm δεν χρησιμοποιεί συντακτικά σημάδια όπως άγκιστρα, παρενθέσεις ή άνω τελείες για να καθορίσει τα όρια του κώδικα. Χρησιμοποιεί κενά και εσοχές αντ' αυτού.

  • Οι ορισμοί module, import και συναρτήσεων ανώτατου επιπέδου πρέπει να ξεκινούν στην αριστερότερη στήλη.
  • Αν μια έκφραση χωρίζεται σε πολλές γραμμές, ο κώδικας που αποτελεί μέρος αυτής της έκφρασης πρέπει να έχει εσοχή κάτω από την έκφραση με τουλάχιστον ένα κενό.
  • Τα μέρη της έκφρασης που ομαδοποιούνται μαζί θα πρέπει να έχουν εσοχή με ίσο αριθμό κενών.
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
    number1 + number2

https://elmprogramming.com/indentation.html

Modules

Κάθε αρχείο στην Elm είναι ένα module και πρέπει να περιέχει μια εντολή module πριν από όλον τον υπόλοιπο κώδικα. Τα ονόματα των module πρέπει να ταιριάζουν με το όνομα του αρχείου τους, οπότε το module Calculator πρέπει να βρίσκεται στο αρχείο Calculator.elm. Ό,τι ορίζεται μέσα σε ένα module έχει ιδιωτική εμβέλεια σε αυτό και δεν είναι προσβάσιμο από έξω από αυτό το module, εκτός αν αναφέρεται στο exposing.

-- Define the Calculator module, and expose the `add` function
module Calculator exposing (add)

six = 3 + 3

add number1 number2 = number1 + number2
-- Define the Calculator module, and expose everything within: `six` and `add`
module Calculator exposing (..)

six = 3 + 3

add number1 number2 = number1 + number2

https://elm-lang.org/docs/syntax#modules

Σχόλια

Ένα σχόλιο είναι κάποιο κείμενο μέσα στο αρχείο Elm που δεν ερμηνεύεται ως κώδικας. Προορίζεται κυρίως για να το διαβάζεις εσύ και άλλοι προγραμματιστές. Υπάρχει ένας ελαφρύς συντακτικός κανόνας για σχόλια μίας γραμμής, βασισμένος σε δύο παύλες. Τα σχόλια πολλών γραμμών είναι επίσης δυνατά με το ζεύγος {- και -} των οριοθετών ανοίγματος και κλεισίματος.

-- a single line comment
-- another single line comment

{- a multiline comment
   spawning multiple lines
-}

Μορφοποίηση

Υπάρχει ένας οδηγός στυλ, και το elm-format μπορεί να χρησιμοποιηθεί για αυτόματη μορφοποίηση του κώδικα.

Οδηγίες

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

Έχεις τρεις εργασίες, όλες σχετικές με τον χρόνο που χρειάζεται για το μαγείρεμα των λαζάνια.

1. Όρισε τον αναμενόμενο χρόνο ψησίματος σε λεπτά

Όρισε το expectedMinutesInOven ώστε να υπολογίζει πόσα λεπτά πρέπει να μείνουν τα λαζάνια στον φούρνο. Σύμφωνα με το βιβλίο μαγειρικής, ο αναμενόμενος χρόνος ψησίματος σε λεπτά είναι 40:

expectedMinutesInOven
    --> 40

2. Υπολόγισε τον χρόνο προετοιμασίας σε λεπτά

Όρισε το preparationTimeInMinutes που παίρνει ως παράμετρο τον αριθμό των στρώσεων στα λαζάνια και επιστρέφει πόσα λεπτά χρειάζονται για να προετοιμαστούν τα λαζάνια, υποθέτοντας ότι κάθε στρώση θέλει 2 λεπτά για να ετοιμαστεί.

preparationTimeInMinutes 3
    --> 6

3. Υπολόγισε τον χρόνο που έχει περάσει σε λεπτά

Όρισε τη συνάρτηση elapsedTimeInMinutes που παίρνει δύο παραμέτρους: η πρώτη παράμετρος είναι ο αριθμός των στρώσεων στα λαζάνια και η δεύτερη παράμετρος είναι ο αριθμός των λεπτών που τα λαζάνια βρίσκονται στον φούρνο. Η συνάρτηση πρέπει να επιστρέφει πόσα λεπτά έχεις δουλέψει για το μαγείρεμα των λαζάνια, δηλαδή το άθροισμα του χρόνου προετοιμασίας σε λεπτά και του χρόνου σε λεπτά που τα λαζάνια έχουν περάσει στον φούρνο εκείνη τη στιγμή.

elapsedTimeInMinutes 3 20
    --> 26
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Elm Exercism

Έτοιμος να ξεκινήσεις την άσκηση Τα λαχταριστά λαζάνια του Lucian;

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