Raku kurss / Padziļināti / Vairāk par iebūvētajiem tipiem / Citēšanas konstrukcijas 🆕 / Exercises / Noslēgums q virknē

Risinājums: Noslēgums q virknē

Šeit ir iespējams risinājums uzdevumam.

Kods

my $x = 10;
say q:c/$x squared is {$x ** 2}/;

🦋 Programmas pirmkodu var atrast failā closure-quote.raku.

Izvade

$x squared is 100

Komentāri

  1. Adverbs :c (slēgums) ieslēdz iegultā { … } koda interpolēšanu citādi burtiskajā q formā. Iekavās $x ir īsts kods, tāpēc {$x ** 2} tiek novērtēts kā 100.

  2. $x ārpus iekavām tiek atstāts tieši tā, kā uzrakstīts, jo skalāru adverbs :s nav ieslēgts. Tāds ir viss adverbu pa funkcijām princips: jūs iegūstat iegultu kodu, neieslēdzot arī $-interpolēšanu.

  3. Adverbus var kombinēt. Pievienojiet arī :s, un vadošais $x tiks interpolēts — abas funkcijas tagad ir ieslēgtas vienlaicīgi:

my $x = 10;
say q:c:s/$x squared is {$x ** 2}/; # 10 squared is 100

Kursa navigācija

Noslēgums q virknē   |   Heredoc