Raku kurss / Objekti, ievade/izvade un izņēmumi / Izņēmumi / Mīkstās kļūmes / Exercises / Mīkstais apgrieztais skaitlis

Risinājums: Mīkstais apgrieztais skaitlis

Šeit ir iespējams risinājums uzdevumam.

Kods

sub reciprocal($n) {
    fail 'no reciprocal of zero' if $n == 0;
    return 1 / $n;
}

say reciprocal(4);
say reciprocal(0) // 'undefined';

🦋 Atrodiet programmu failā soft-divide.raku.

Izvade

0.25
undefined

Komentāri

  1. reciprocal(4) parastā kārtā atgriež 1 / 4, tas ir, 0.25.

  2. reciprocal(0) izsauc fail, tāpēc tā atgriež Failure, kas ir nedefinēts. Operators // atgriež savu labās puses operandu ikreiz, kad kreisā puse ir nedefinēta, tāpēc iegūstam atkāpšanās vērtību undefined.

  3. // lietošana skaitās neveiksmes apstrādāšana: tā pārbauda definētību, vērtību neizmantojot, tāpēc Failure paliek mīksts un nekad netiek izmests kā īsts izņēmums.

Kursa navigācija

Mīkstais apgrieztais skaitlis   |   Atrasts vai nav atrasts