Raku kurss / Padziļināti / Izpildes plūsma / Priekšrakstu prefiksi 🆕 / Exercises / Apklusināt brīdinājumu
Risinājums: Apklusināt brīdinājumu
Šeit ir iespējams risinājums uzdevumam.
Kods
my $name;
my $greeting = quietly { "Hello, " ~ $name ~ "!" };
say $greeting;🦋 Atrodiet programmu failā silence-warning.raku.
Izvade
Hello, !Komentāri
Nedefinētā
$nameinterpolēšana virknē parasti izraisa brīdinājumu par neinicializētas vērtības lietošanu. Ietinot izteiksmiquietly, tas tiek apslāpēts, tāpēc tiek izdrukāts tikai sveiciens.Tāpat kā
do,quietlyatgriež sava bloka vērtību, tāpēc saliktā virkne (kurā trūkstošais vārds atstāj tukšu spraugu) tiek saglabāta$greeting.quietlytikai paslēpj brīdinājumu — vērtība joprojām ir nedefinēta. Ja tā vietā vēlaties ar trūkstošo vērtību tikt galā, norādiet noklusējumu ar defined-or operatoru//:$name // 'friend'dod'friend', kad$nameir nedefinēts, tāpēc"Hello, " ~ ($name // 'friend') ~ "!"izdrukāHello, friend!pavisam bez brīdinājuma.