Raku kurss / Pielikums 🆕 / Plūsma un funkcijas / Apakšprogrammas un funkcionālais stils / Exercises / Apraksts pēc tipa

Risinājums: Apraksts pēc tipa

Šeit ir iespējams risinājums uzdevumam.

Kods

multi describe(Int $x) { "integer $x" }
multi describe(Str $x) { "string $x" }
multi describe(@x)     { "list of {@x.elems}" }

say describe(42);
say describe('hi');
say describe([1, 2, 3]);

🦋 Atrodiet programmu failā multi-describe.raku.

Izvade

integer 42
string hi
list of 3

Komentāri

  1. Katrs multi dod vienu describe versiju ar citu parametra tipu. Raku izvēlas atbilstošo kandidātu pēc argumenta tipa.

  2. Paraksts @x atbilst sarakstam, tāpēc masīvs tiek nosūtīts trešajam kandidātam, kas paziņo tā garumu.

Kursa navigācija

Apraksts pēc tipa   |   Kārtošana pēc divām atslēgām