Λαζάνια

Λαζάνια

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

Εισαγωγή

Βασικά

Συναρτήσεις

Στη Gleam οι συναρτήσεις ορίζονται με τη σύνταξη pub fn.

pub fn add(x: Int, y: Int) -> Int {
  x + y
}

Αυτή η συνάρτηση δέχεται δύο ορίσματα, και τα δύο τύπου Int, και επιστρέφει μια τιμή τύπου Int. Δεν υπάρχει λέξη-κλειδί return στη Gleam: η τιμή της τελευταίας έκφρασης σε μια συνάρτηση επιστρέφεται πάντα σιωπηρά.

Οι δηλώσεις τύπων για τα ορίσματα και ο τύπος επιστροφής είναι προαιρετικές, και η Gleam θα ελέγχει πάντα πλήρως τους τύπους του κώδικά σου. Συνήθως οι προγραμματιστές της Gleam δίνουν δηλώσεις τύπων στις συναρτήσεις τους για σαφήνεια, αλλά μπορείς να τις παραλείψεις αν θέλεις.

pub fn add(x, y) {
  x + y
}

Μπορείς να καλέσεις μια συνάρτηση χρησιμοποιώντας τη σύνταξη function_name(argument1, argument2).

pub fn double(x: Int) -> Int {
  // Call the add function defined above
  add(x, x)
}

Μεταβλητές

Στη Gleam οι μεταβλητές ορίζονται με τη σύνταξη let name = expression.

pub fn main() {
  let count = 1
}

Οι μεταβλητές μπορούν να δηλωθούν με δηλώσεις τύπων. Όπως και στα ορίσματα συναρτήσεων, αυτές είναι προαιρετικές, αν και οι περισσότεροι προγραμματιστές της Gleam παραλείπουν τις δηλώσεις τύπων για τις μεταβλητές για λόγους συντομίας.

pub fn main() {
  let count: Int = 1
}

Κυριολεκτικές συμβολοσειρές

Στη Gleam οι συμβολοσειρές γράφονται με διπλά εισαγωγικά.

pub fn greeting() {
  "Hello, world!"
}

Σχόλια κώδικα

Τα σχόλια μπορούν να χρησιμοποιηθούν για να αφήσεις σημειώσεις σε άλλους προγραμματιστές που διαβάζουν τον πηγαίο κώδικα. Τα σχόλια στη Gleam είναι μεμονωμένες γραμμές που ξεκινούν με //.

pub fn main() {
  // This is a comment
  let x = 1
}

Οδηγίες

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

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

1. Όρισε τον αναμενόμενο χρόνο στον φούρνο σε λεπτά

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

expected_minutes_in_oven()
// -> 40

2. Υπολόγισε τον χρόνο που απομένει στον φούρνο σε λεπτά

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

remaining_minutes_in_oven(30)
// -> 10

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

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

preparation_time_in_minutes(2)
// -> 4

4. Υπολόγισε τον συνολικό χρόνο εργασίας σε λεπτά

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

total_time_in_minutes(3, 10)
// -> 16

5. Δημιούργησε μια ειδοποίηση ότι η λαζάνια είναι έτοιμη

Όρισε τη συνάρτηση alarm που δε δέχεται κανένα όρισμα και επιστρέφει ένα μήνυμα που δηλώνει ότι η λαζάνια είναι έτοιμη να τη φας.

alarm()
// -> "Ding!"
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Gleam Exercism

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

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