Μια σταθερή τιμή ορίζεται με 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 δεν χρησιμοποιεί συντακτικά σημάδια όπως άγκιστρα, παρενθέσεις ή άνω τελείες για να καθορίσει τα όρια του κώδικα. Χρησιμοποιεί κενά και εσοχές αντ' αυτού.
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
number1 + number2
https://elmprogramming.com/indentation.html
Κάθε αρχείο στην 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 μπορεί να χρησιμοποιηθεί για αυτόματη μορφοποίηση του κώδικα.
Σε αυτή την άσκηση θα γράψεις λίγο κώδικα για να σε βοηθήσει να φτιάξεις καταπληκτικά λαζάνια από το αγαπημένο σου βιβλίο μαγειρικής.
Έχεις τρεις εργασίες, όλες σχετικές με τον χρόνο που χρειάζεται για το μαγείρεμα των λαζάνια.
Όρισε το expectedMinutesInOven ώστε να υπολογίζει πόσα λεπτά πρέπει να μείνουν τα λαζάνια στον φούρνο. Σύμφωνα με το βιβλίο μαγειρικής, ο αναμενόμενος χρόνος ψησίματος σε λεπτά είναι 40:
expectedMinutesInOven
--> 40
Όρισε το preparationTimeInMinutes που παίρνει ως παράμετρο τον αριθμό των στρώσεων στα λαζάνια και επιστρέφει πόσα λεπτά χρειάζονται για να προετοιμαστούν τα λαζάνια, υποθέτοντας ότι κάθε στρώση θέλει 2 λεπτά για να ετοιμαστεί.
preparationTimeInMinutes 3
--> 6
Όρισε τη συνάρτηση elapsedTimeInMinutes που παίρνει δύο παραμέτρους: η πρώτη παράμετρος είναι ο αριθμός των στρώσεων στα λαζάνια και η δεύτερη παράμετρος είναι ο αριθμός των λεπτών που τα λαζάνια βρίσκονται στον φούρνο. Η συνάρτηση πρέπει να επιστρέφει πόσα λεπτά έχεις δουλέψει για το μαγείρεμα των λαζάνια, δηλαδή το άθροισμα του χρόνου προετοιμασίας σε λεπτά και του χρόνου σε λεπτά που τα λαζάνια έχουν περάσει στον φούρνο εκείνη τη στιγμή.
elapsedTimeInMinutes 3 20
--> 26
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Elm με 28 έννοιες110 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.