Kurso de Raku / Progresinta / Ujoj / Subskribaj adverboj
Ekzistas kaj forigi
La adverbo :exists transformas subskribon en demandon:
ĉu estas valoro ĉe ĉi tiu ŝlosilo aŭ indekso? Ĝi redonas Boolean valoron
sen preni ion ajn:
my %h = apple => 1, pear => 2;
say %h<apple>:exists; # True
say %h<plum>:exists; # FalseJen la ĝusta maniero testi ŝlosilon, ĉar simple legi
%h<plum> aŭ redonus nedifinitan valoron aŭ, depende
de la datumoj, kaŝus la diferencon inter «mankanta» kaj «ĉeestanta sed
nedifinita».
La adverbo :delete forigas la eron kaj redonas la
valoron, kiun ĝi tenis:
my %h = apple => 1, pear => 2;
say %h<apple>:delete; # 1
say %h.keys; # (pear)
say %h; # {pear => 2}La ero apple malaperis, kaj la forigita valoro
1 estas redonita, por ke vi povu uzi ĝin.
Ambaŭ adverboj funkcias ankaŭ sur tabeloj, laŭ indekso:
my @a = 10, 20, 30;
say @a[1]:exists; # True
say @a[5]:exists; # False
say @a[1]:delete; # 20
say @a[1]:exists; # FalseSe vi scivolas, kiel la tabelo aspektos post kiam meza ero estas forigita, jen la respondo:
say @a; # [10 (Any) 30]Do unu sola, konsekvenca notacio permesas al vi pridemandi kaj modifi ujojn surloke, anstataŭ atingi apartajn metodojn.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Subskribaj adverboj | Kvizo — Subskribaj adverboj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.