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)
}
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
}
A Gleamben a stringeket kettős idézőjelek közé írjuk.
pub fn greeting() {
"Hello, world!"
}
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
}
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.
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
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
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
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
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!"
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.