Kurso de Raku / Progresinta / Regofluo / Deklaraj prefiksoj
do kaj la valoro de bloko
Bloko sole estas deklaro, ne esprimo, do vi normale ne povas atribui
ĝin al variablo. La prefikso do transformas blokon en
esprimon, kies valoro estas la valoro de ĝia lasta
deklaro:
my $x = do {
my $a = 3;
$a + 4;
};
say $x; # 7Ene de la bloko vi povas deklari variablojn, plenumi plurajn
deklarojn kaj komputi rezulton; do redonas tion, kion la
bloko taksas. Tio estas oportuna kiam por produkti valoron necesas pli
ol unu sola esprimo.
do ankaŭ funkcias antaŭ kontrolfluaj deklaroj, ebligante
al ili ankaŭ redoni valoron:
my $sign = do given 5 {
when * > 0 { 'positive' }
when * < 0 { 'negative' }
default { 'zero' }
};
say $sign; # positiveĈi tie do given transformas la tutan
given/when en esprimon kiu donas
positive. Same funkcias do if kaj
do for. Resume, do estas la maniero uzi
blokon, aŭ kontrolstrukturon, en loko kiu atendas valoron.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Deklaraj prefiksoj | Kvizo — do →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.