Lasagne

Lasagne

Tanulófeladat

Bevezetés

Alapok

Függvények

A Gleamben a függvényeket a pub fn szintaxissal definiálod.

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

Ez a függvény két argumentumot vesz át, mindkettő Int típusú, és Int típusú értéket ad vissza. A Gleamben nincs return kulcsszó, a függvény értéke mindig az utolsó kifejezés értéke, ami implicit módon visszaadódik.

Az argumentumok típusannotációja és a visszatérési típus megadása opcionális, és a Gleam mindig teljes körűen ellenőrzi a kódod típusait. A Gleam-programozók általában az egyértelműség kedvéért ellátják a függvényeiket típusannotációval, de nyugodtan el is hagyhatod őket.

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

Egy függvényt a function_name(argument1, argument2) szintaxissal hívhatsz meg.

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

Változók

A Gleamben a változókat a let name = expression szintaxissal definiálod.

pub fn main() {
  let count = 1
}

A változókat típusannotációval is deklarálhatod. A függvényargumentumokhoz hasonlóan ezek is opcionálisak, bár a legtöbb Gleam-programozó a rövidség kedvéért elhagyja a változók típusannotációját.

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

String literálok

A Gleamben a stringeket kettős idézőjelek közé írjuk.

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

Kódmegjegyzések

A megjegyzésekkel jegyzeteket hagyhatsz más fejlesztőknek, akik a forráskódot olvassák. A Gleamben a megjegyzések egysorosak, és // előzi meg őket.

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

Utasítások

Ebben a feladatban kódot írsz majd, amely segít megfőzni egy remek lasagnét a kedvenc szakácskönyvedből.

Öt részfeladatot kell megoldanod, amelyek mind a lasagne elkészítésével eltöltött időhöz kapcsolódnak.

1. Határozd meg a várható sütési időt percben

Határozd meg az expected_minutes_in_oven függvényt, amely nem fogad argumentumot, és visszaadja, hogy hány percig kell a lasagnének a sütőben lennie. A szakácskönyv szerint a várható sütési idő 40 perc:

expected_minutes_in_oven()
// -> 40

2. Számítsd ki a hátralévő sütési időt percben

Határozd meg a remaining_minutes_in_oven függvényt, amely argumentumként megkapja, hogy a lasagne hány percet töltött már a sütőben, és visszaadja, hogy hány percig kell még a sütőben maradnia, az előző részfeladatban megadott várható sütési idő alapján.

remaining_minutes_in_oven(30)
// -> 10

3. Számítsd ki az előkészítési időt percben

Határozd meg a preparation_time_in_minutes függvényt, amely argumentumként megkapja, hogy hány réteget tettél a lasagnébe, és visszaadja, hogy hány percet töltöttél a lasagne előkészítésével, feltételezve, hogy minden réteg előkészítése 2 percet vesz igénybe.

preparation_time_in_minutes(2)
// -> 4

4. Számítsd ki a teljes munkával töltött időt percben

Határozd meg a total_time_in_minutes függvényt, amely két argumentumot vár: az első argumentum a lasagnébe tett rétegek száma, a második argumentum pedig az, hogy a lasagne hány percet töltött a sütőben. A függvénynek vissza kell adnia, hogy összesen hány percet dolgoztál a lasagne elkészítésén, ami az előkészítési idő percben mért értéke és a lasagne által a sütőben eddig eltöltött idő összege.

total_time_in_minutes(3, 10)
// -> 16

5. Hozz létre egy értesítést, amely jelzi, hogy a lasagne elkészült

Határozd meg az alarm függvényt, amely nem fogad argumentumot, és egy üzenetet ad vissza, amely jelzi, hogy a lasagne már ehető.

alarm()
// -> "Ding!"
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Gleam Exercism

Készen állsz elkezdeni a(z) Lasagne feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Gleam nyelvet 33 fogalom122 feladat segítségével, valódi emberi mentorálással, mindez ingyen.