Kurso de Raku / Progresinta / Ujoj / Kuntekstoj
Nombra, ĉena kaj Boolea kunteksto
Tri tre oftaj kuntekstoj petas valoron konduti kiel nombro, ĉeno aŭ bulea valoro. Ĉiu havas prefiksan operatoron, kiu trudas ĝin eksplicite:
+— nombra kunteksto~— ĉena kunteksto?— bulea kunteksto
Aplikataj al tabelo, ili donas ĝian longon, ĝiajn elementojn kunigitajn per spacoj, kaj ĉu ĝi havas iujn elementojn:
my @a = 1, 2, 3;
say +@a; # 3
say ~@a; # 1 2 3
say ?@a; # TrueMalplena tabelo estas 0 en nombra kunteksto kaj
False en bulea kunteksto:
my @empty;
say +@empty; # 0
say ?@empty; # FalseVi ne ĉiam bezonas skribi ĉi tiujn operatorojn mane, ĉar la lingvo
povas trudi la ĝustan kuntekston por vi. Aritmetiko metas siajn
operandojn en nombran kuntekston, kunigo metas ilin en ĉenan kuntekston,
kaj if, while, kaj
and/or metas sian kondiĉon en bulean
kuntekston:
my @a = 1, 2, 3;
say 10 + @a; # 13, here @a is its length: 3
say 'items: ' ~ @a; # items: 1 2 3
if @a { say 'not empty' } # not emptyDo if @array { … } funkcias ĝuste kiel vi esperus:
nemalplena tabelo estas vera. La prefiksaj operatoroj estas la
eksplicita maniero peti la samajn konvertojn.
En kombino kun postfiksa if, tio permesas krei vere
esprimplenan kodon:
say "{+@a} items are there" if @a; # 3 items are therePraktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Kuntekstoj | Kvizo — Kuntekstoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.