Előfordul, hogy ha egy függvény sok argumentumot vár, nehéz megjegyezni, milyen sorrendben kell megadni őket. Az olvashatóság érdekében a Gleam lehetővé teszi, hogy az argumentumokat névvel címkézd meg.
Egy argumentum címkézéséhez a címke nevét az argumentum neve elé írd, szóközzel elválasztva.
pub fn replace(
in string: String,
each target: String,
with replacement: String
) -> String {
// ...
}
Ha egy függvényt címkézett argumentumokkal hívsz meg, az argumentumokat tetszőleges sorrendben megadhatod. Az alábbi replace hívások mindegyike egyenértékű:
replace(in: "🍔🍔🍔", each: "🍔", with: "🍕")
replace(each: "🍔", in: "🍔🍔🍔", with: "🍕")
replace(with: "🍕", each: "🍔", in: "🍔🍔🍔")
A címkék mindig opcionálisak. Attól még, hogy egy függvénynek címkézett argumentumai vannak, címkék nélkül is meghívhatod.
replace("🍔🍔🍔", "🍔", "🍕")
Egy elegáns étterem menedzsere vagy, amelynek tekintélyes borospincéje van. A vendégeid közül sokan igényes borrajongók. Nem könnyű feladat megtalálni a megfelelő üveg bort egy adott vendég számára.
Technikailag felkészült étteremtulajdonosként úgy döntöttél, hogy felgyorsítod a borkiválasztás folyamatát: írsz egy alkalmazást, amellyel a vendégek az ízlésük szerint szűrhetik a boraidat.
Egy üveg bort egy egyedi típus reprezentál, a borokat pedig egy listában tároljuk.
[
Wine("Chardonnay", 2015, "Italy", White),
Wine("Pinot grigio", 2017, "Germany", White),
Wine("Pinot noir", 2016, "France", Red),
Wine("Dornfelder", 2018, "Germany", Rose)
]
Valósítsd meg a wines_of_color függvényt. Egy borokból álló listát kap, és visszaadja az adott színű összes bort.
wines_of_color(
[
Wine("Chardonnay", 2015, "Italy", White),
Wine("Pinot grigio", 2017, "Germany", White),
Wine("Pinot noir", 2016, "France", Red),
Wine("Dornfelder", 2018, "Germany", Rose)
],
color: White
)
// -> [
// Wine("Chardonnay", 2015, "Italy", White),
// Wine("Pinot grigio", 2017, "Germany", White),
// ]
Valósítsd meg a wines_from_country függvényt. Egy borokból álló listát kap, és visszaadja az adott országból származó összes bort.
wines_from_country(
[
Wine("Chardonnay", 2015, "Italy", White),
Wine("Pinot grigio", 2017, "Germany", White),
Wine("Pinot noir", 2016, "France", Red),
Wine("Dornfelder", 2018, "Germany", Rose)
],
country: "Germany"
)
// -> [
// Wine("Dornfelder", 2018, "Germany", Rose)
// ]
Valósítsd meg a filter függvényt. Egy borokból álló listát, egy színt és egy országot kap, és visszaadja az adott országban palackozott, adott színű borokat.
filter(
[
Wine("Chardonnay", 2015, "Italy", White),
Wine("Pinot grigio", 2017, "Germany", White),
Wine("Pinot noir", 2016, "France", Red),
Wine("Dornfelder", 2018, "Germany", Rose)
],
color: White
country: "Italy"
)
// -> [
// Wine("Chardonnay", 2015, "Italy", White),
// ]
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.