Kurso de Raku / Aldono 🆕 / Fluo kaj funkcioj / Subprogramoj kaj funkcia stilo / Exercises / Ordigi laŭ du ŝlosiloj
Solvo: Ordigi laŭ du ŝlosiloj
Jen ebla solvo de la tasko.
Kodo
my @people =
{ name => 'Anna', age => 30 },
{ name => 'Bob', age => 25 },
{ name => 'Cara', age => 30 };
for @people.sort({ .<age>, .<name> }) -> %person {
say "%person<name> (%person<age>)";
}🦋 Vi povas trovi la fontkodon en la dosiero sort-by-two-keys.raku.
Eligo
Bob (25)
Anna (30)
Cara (30)Komentoj
Kiam bloko
.sortredonas liston, Raku komparas laŭ la unua elemento, poste la dua — do{ .<age>, .<name> }ordigas unue laŭ aĝo kaj uzas la nomon nur por rompi egalecojn.Anna kaj Cara havas la saman aĝon
30, do ili estas ordigitaj alfabete; Bob, estante pli juna, venas unue.