Lasagne

Lasagne

Lernübung

Einführung

Grundlagen

Funktionen

In Gleam definierst du Funktionen mit der Syntax pub fn.

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

Diese Funktion nimmt zwei Argumente, beide vom Typ Int, und gibt einen Wert vom Typ Int zurück. In Gleam gibt es kein return-Schlüsselwort: Der Wert des letzten Ausdrucks einer Funktion wird immer implizit zurückgegeben.

Die Typannotationen für Argumente und der Rückgabetyp sind optional, und Gleam überprüft die Typen deines Codes immer vollständig. Normalerweise geben Gleam-Programmierer ihren Funktionen Typannotationen zur Klarheit, aber du kannst sie weglassen, wenn du möchtest.

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

Du kannst eine Funktion mit der Syntax function_name(argument1, argument2) aufrufen.

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

Variablen

In Gleam definierst du Variablen mit der Syntax let name = expression.

pub fn main() {
  let count = 1
}

Du kannst Variablen mit Typannotationen deklarieren. Wie bei Funktionsargumenten sind diese optional, doch die meisten Gleam-Programmierer lassen Typannotationen für Variablen aus Gründen der Kürze weg.

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

String-Literale

In Gleam schreibst du Strings mit doppelten Anführungszeichen.

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

Kommentare

Mit Kommentaren kannst du Notizen für andere Entwickler hinterlassen, die den Quellcode lesen. Kommentare in Gleam sind einzelne Zeilen, denen // vorangestellt ist.

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

Anleitung

In dieser Übung schreibst du etwas Code, um dir beim Kochen einer großartigen Lasagne aus deinem Lieblingskochbuch zu helfen.

Du hast fünf Aufgaben, die sich alle um die Zeit drehen, die du mit dem Kochen der Lasagne verbringst.

1. Definiere die erwartete Backzeit in Minuten

Definiere die Funktion expected_minutes_in_oven, die keine Argumente entgegennimmt und zurückgibt, wie viele Minuten die Lasagne im Ofen sein sollte. Laut Kochbuch beträgt die erwartete Backzeit 40 Minuten:

expected_minutes_in_oven()
// -> 40

2. Berechne die verbleibende Backzeit in Minuten

Definiere die Funktion remaining_minutes_in_oven, die die tatsächlichen Minuten, die die Lasagne bereits im Ofen war, als Argument entgegennimmt und zurückgibt, wie viele Minuten die Lasagne noch im Ofen bleiben muss, basierend auf der erwarteten Backzeit aus der vorherigen Aufgabe.

remaining_minutes_in_oven(30)
// -> 10

3. Berechne die Vorbereitungszeit in Minuten

Definiere die Funktion preparation_time_in_minutes, die die Anzahl der Schichten, die du zur Lasagne hinzugefügt hast, als Argument entgegennimmt und zurückgibt, wie viele Minuten du mit der Vorbereitung der Lasagne verbracht hast, wobei jede Schicht 2 Minuten Vorbereitung dauert.

preparation_time_in_minutes(2)
// -> 4

4. Berechne die Gesamtarbeitszeit in Minuten

Definiere die Funktion total_time_in_minutes, die zwei Argumente entgegennimmt: Das erste Argument ist die Anzahl der Schichten, die du zur Lasagne hinzugefügt hast, und das zweite Argument ist die Anzahl der Minuten, die die Lasagne bereits im Ofen war. Die Funktion sollte zurückgeben, wie viele Minuten du insgesamt mit dem Kochen der Lasagne verbracht hast, also die Summe aus der Vorbereitungszeit in Minuten und der Zeit in Minuten, die die Lasagne im Moment im Ofen verbracht hat.

total_time_in_minutes(3, 10)
// -> 16

5. Erstelle eine Benachrichtigung, dass die Lasagne fertig ist

Definiere die Funktion alarm, die keine Argumente entgegennimmt und eine Nachricht zurückgibt, die anzeigt, dass die Lasagne fertig zum Essen ist.

alarm()
// -> "Ding!"
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Gleam Exercism

Bereit, mit Lasagne zu starten?

Melde dich bei Exercism an, um Gleam mit 33 Konzepte122 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.