Kurso de Raku / Progresinta / Regofluo / Deklaraj prefiksoj / Exercises / Silentigi averton
Solvo: Silentigi averton
Jen ebla solvo de la tasko.
Kodo
my $name;
my $greeting = quietly { "Hello, " ~ $name ~ "!" };
say $greeting;🦋 Vi povas trovi la fontkodon en la dosiero silence-warning.raku.
Eligo
Hello, !Komentoj
Interpoli la nedefinitan
$nameen la ĉenon normale kaŭzas averton pri “uzo de neinicialigita valoro”. Envolvi la esprimon enquietlykaŝas ĝin, do nur la salutfrazo estas presata.Same kiel
do,quietlyredonas la valoron de sia bloko, do la kunmetita ĉeno (kun la mankanta nomo lasanta malplenan interspacon) estas konservita en$greeting.quietlynur kaŝas la averton — la valoro ankoraŭ estas nedefinita. Se vi anstataŭe volas trakti la mankantan valoron, provizu defaŭlton per la difinita-aŭ operatoro//:$name // 'friend'donas'friend'kiam$nameestas nedefinita, do"Hello, " ~ ($name // 'friend') ~ "!"presasHello, friend!tute sen averto.