A Gleamben egy típusalias segítségével kényelmes nevet adhatsz egy létező típusnak, amelyet egyébként körülményes lenne leírni.
pub type Headers =
List(#(String, String))
pub fn html_headers() -> Headers {
[
#("content-type", "text/html"),
#("x-frame-options", "DENY"),
]
}
Ha pub type-tal definiálod, az alias a saját modulján kívül is használható. Ha a pub elmarad, az alias privát lesz, és más modulokból nem lehet rá hivatkozni.
A Gleamben a szótárak olyan adatszerkezetek, amelyek kulcs-érték párokban tárolják az információt. Más nyelvekben ezeket asszociatív tömböknek, hasheknek vagy szótáraknak is nevezhetik.
Egy szótárban a kulcsok és az értékek bármilyen típusúak lehetnek, és az sem garantált, hogy a bejegyzések sorrendje megmarad, amikor hozzáférsz hozzájuk vagy visszakapod őket.
A szótárakat a gleam/dict modul függvényeivel hozod létre és módosítod.
// Create an empty dict
let dict1 = dict.new()
// Create a dict with some values
let dict2 = dict.from_list([
#("name", "Gleam"),
#("colour", "Pink"),
])
// Add a value to a dict
let dict3 = dict.insert(dict2, "website", "https://gleam.run")
// Get a value from a dict
let name = dict.get(dict3, "name")
// -> Ok("Gleam")
Ebben a feladatban egy módot készítesz arra, hogy nyilván tartsd a helyi játékterem legnépszerűbb játékának csúcspontszámait.
Öt függvényt kell megvalósítanod, amelyek többnyire egy csúcspontszámokat tároló szótár kezeléséhez kapcsolódnak.
Készíts egy create_score_board függvényt, amely egy szótárat ad vissza, ami eredménytáblaként szolgál.
A szótár kulcsai a játékosok nevei, az értékek pedig a pontszámaik lesznek.
A tesztelés kedvéért közvetlenül szerepeltetni szeretnél egy bejegyzést a szótárban.
Ez a kezdeti bejegyzés "The Best Ever" játékosnévből és 1_000_000 pontszámból álljon.
create_score_board()
// returns an object with one initial entry
Ha játékost szeretnél hozzáadni az eredménytáblához, definiáld az add_player függvényt.
Ez három paramétert fogad:
A függvény egy szótárat ad vissza, amely tartalmazza az új játékost és a pontszámát.
Ha egy játékos megszegi a játékterem szabályait, kézzel eltávolítják az eredménytábláról.
Definiáld a remove_player függvényt, amely két paramétert vár:
A függvény a szótárat az eltávolított játékos nélkül adja vissza.
Ha a játékos eleve nem szerepelt a táblán, a táblával nem történik semmi, változatlanul kell visszaadni.
Ha egy játékos újabb játékot fejez be a játékteremben, bizonyos mennyiségű pont hozzáadódik a táblán szereplő előző pontszámához.
Valósítsd meg az update_score függvényt, amely három paramétert vár:
A függvény a frissített pontszámmal adja vissza a szótárat.
Ha a játékos eleve nem szerepelt a táblán, a táblával nem történik semmi, változatlanul kell visszaadni.
A játékterem hétfőnként külön eredménytáblát vezet. A nap végén a táblán szereplő minden játékos 100 pluszpontot kap.
Valósítsd meg az apply_monday_bonus függvényt, amely egy eredménytáblát fogad.
A függvény egy szótárat ad vissza, amelyben a bónuszpontok minden, a táblán szereplő játékoshoz hozzáadódnak.
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.