Raku kurss / Pamati / Vairāk par funkcijām

Tipizētie parametri

Raku valodā funkciju parametri var būt ar tipa ierobežojumu. Tas ir ļoti līdzīgi kā tipizētie mainīgie.

sub add(Int $x, Int $y) { $x + $y }

Funkcija tagad pieprasa, lai tās argumenti būtu veseli skaitļi.

say add(10, 20);
# say add(pi, e); # Kļūda

Mēģinājums nodot jebkura cita tipa parametru, izņemot Int, ir kļūda kompilācijas laikā.

$ raku t.raku
===SORRY!=== Kļūda kompilējot t.raku
Izsaukums add(Num, Num) nekad nedarbosies ar deklarēto parakstu (Int $x, Int $y)
t.raku:5
------> say ⏏add(pi, e);

Pamaniet, ka Raku automātiski nekonvertēs tipus, pat ja tas ir iespējams citos gadījumos.

# say add('3', '4'); # Kļūda
say '3' + '4'; # OK un ir 7

Kā noteikt, vai tā ir kļūda kompilācijas laikā

Ja kļūdas ziņojums sākas ar ===SORRY!=== Kļūda kompilējot, tas nozīmē, ka kļūda notika kompilācijas laikā.

Prakse

Pabeidziet viktorīnu, kas aptver šīs tēmas saturu.

Kursa navigācija

Vairāk par funkcijām / Pievērsiet uzmanību atstarpēm   |   Vairāk par funkcijām / Atgriešanas tips


💪 Or jump directly to the exercise to this section.

Šī lapa ir automātiski tulkota ar ChatGPT 4o. Oriģinālais teksts angļu valodā.

Šīs lapas tulkojumi: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська