Raku kurss / Padziļināti / Vairāk par iebūvētajiem tipiem / Citēšanas konstrukcijas 🆕 / Exercises / Heredoc
Risinājums: Heredoc
Šeit ir iespējams risinājums uzdevumam.
Kods
my $name = 'Anna';
my $item = 'Raku Book';
my $price = 25;
my $count = 3;
print qq:to/END/;
Dear $name,
You ordered $count copies of "$item".
That comes to {$count * $price} dollars.
Thank you!
END🦋 Programmas pirmkodu var atrast failā a-heredoc.raku.
Izvade
Dear Anna,
You ordered 3 copies of "Raku Book".
That comes to 75 dollars.
Thank you!Komentāri
Heredoc sākas ar
qq:to, nevisq:to, tāpēc tas interpolē. Tāpat kāqqvirknē, tas aizpilda skalāros —$name,$count,$item— un izpilda iegultu kodu: bloks{$count * $price}aprēķina3 * 25, tāpēc summa75parādās tieši tekstā.Dubultpēdiņas ap
"$item"šeit ir tikai burtiskas rakstzīmes; heredoc iekšienē nav norobežotāja, no kura aizbēgt, tāpēc tās tiek izdrukātas tā, kā ir, kamēr$itemjoprojām tiek interpolēts.Pamatteksts un aizverošais
ENDir atkāpēti par vienu un to pašu četru atstarpes. Terminatora atkāpe tiek noņemta no katras rindas, tāpēc šīs četras atstarpes nekad nenonāk virknē — izvade sākas pie kreisās malas.Heredoc jau beidzas ar jaunrindu, tāpēc tiek izmantots
print, nevissay, lai nepievienotu otru tukšu rindu.
Kursa navigācija
← Heredoc | Datums un laiks →