Wenn eine Funktion viele Argumente entgegennimmt, kann es manchmal schwierig sein, sich die Reihenfolge zu merken, in der sie übergeben werden müssen. Um die Lesbarkeit zu verbessern, erlaubt es Gleam, Argumente mit einem Namen zu beschriften.
Um ein Argument zu beschriften, gibst du den Namen der Beschriftung vor dem Argumentnamen an, getrennt durch ein Leerzeichen.
pub fn replace(
in string: String,
each target: String,
with replacement: String
) -> String {
// ...
}
Beim Aufruf einer Funktion mit beschrifteten Argumenten kannst du die Argumente in beliebiger Reihenfolge angeben. Die folgenden Aufrufe von replace sind alle gleichwertig:
replace(in: "🍔🍔🍔", each: "🍔", with: "🍕")
replace(each: "🍔", in: "🍔🍔🍔", with: "🍕")
replace(with: "🍕", each: "🍔", in: "🍔🍔🍔")
Beschriftungen sind immer optional. Selbst wenn eine Funktion beschriftete Argumente hat, kannst du sie weiterhin ohne Beschriftungen aufrufen.
replace("🍔🍔🍔", "🍔", "🍕")
Du bist der Manager eines schicken Restaurants mit einem ansehnlichen Weinkeller. Viele deiner Gäste sind anspruchsvolle Weinliebhaber. Die richtige Flasche Wein für einen bestimmten Gast zu finden, ist keine leichte Aufgabe.
Als technikbegeisterter Restaurantbesitzer hast du beschlossen, die Weinauswahl zu beschleunigen, indem du eine App schreibst, mit der Gäste deine Weine nach ihren Vorlieben filtern können.
Eine Weinflasche wird durch einen benutzerdefinierten Typ dargestellt, und Weine werden in einer Liste gespeichert.
[
Wine("Chardonnay", 2015, "Italy", White),
Wine("Pinot grigio", 2017, "Germany", White),
Wine("Pinot noir", 2016, "France", Red),
Wine("Dornfelder", 2018, "Germany", Rose)
]
Implementiere die Funktion wines_of_color. Sie soll eine Liste von Weinen entgegennehmen und alle Weine einer bestimmten Farbe zurückgeben.
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),
// ]
Implementiere die Funktion wines_from_country. Sie soll eine Liste von Weinen entgegennehmen und alle Weine aus einem bestimmten Land zurückgeben.
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)
// ]
Implementiere die Funktion filter. Sie soll eine Liste von Weinen, eine Farbe und ein Land entgegennehmen und alle Weine der gegebenen Farbe zurückgeben, die im gegebenen Land abgefüllt wurden.
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),
// ]
Melde dich bei Exercism an, um Gleam mit 33 Konzepte122 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.