Kurso de Raku / Regulesprimoj kaj gramatikoj / Regulesprimoj / Kaptoj
Nomitaj kaptoj
Numeritaj kaptoj estas oportunaj, sed kiam ŝablono kreskas, nomoj
estas pli klaraj ol numeroj. Por doni al kapto nomon, skribu
$<name>=( … ):
if 'Anna:30' ~~ / $<name>=(\w+) ':' $<age>=(\d+) / {
say $<name>; # 「Anna」
say $<age>; # 「30」
}La kaptitaj pecoj nun estas atingataj laŭ nomo tra
$<name> kaj $<age> anstataŭ
$0 kaj $1. Tio estas la samo kiel skribi
$/<name>, ĉar la nomoj loĝas ene de la kongrua
variablo $/.
Nomitaj kaptoj igas ŝablonon legiĝi preskaŭ kiel priskribo de la datumoj:
if 'x=5' ~~ / $<key>=(\w+) '=' $<value>=(\w+) / {
say "key is $<key>, value is $<value>"; # key is x, value is 5
}Kiel ĉe poziciaj kaptoj, ĉiu nomita kapto estas kongrua objekto, do
$<age>.Str donas la simplan tekston kaj
$<age>.from donas ĝian pozicion.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Kvizo — Poziciaj kaptoj | Kvizo — Kaptoj →
💪 Aŭ iru rekte al la
ekzercoj de ĉi tiu sekcio.