Kurso de Raku / Progresinta / Pli pri la enkonstruitaj tipoj / Citaj konstruoj / Exercises / Heredoko
Solvo: Heredoko
Jen ebla solvo de la tasko.
Kodo
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🦋 Vi povas trovi la fontkodon en la dosiero a-heredoc.raku.
Eligo
Dear Anna,
You ordered 3 copies of "Raku Book".
That comes to 75 dollars.
Thank you!Komentoj
La heredoc komenciĝas per
qq:toanstataŭq:to, do ĝi interpolatas. Kielqq-ĉeno, ĝi plenigas skalarojn —$name,$count,$item— kaj ruligas enkonstruitan kodon: la bloko{$count * $price}kalkulas3 * 25, do la totalo75aperas enlinie.La duoblaj citiloj ĉirkaŭ
"$item"estas nur laŭliteraj signoj ĉi tie; ene de heredoc ne ekzistas limigilo por eskapi, do ili presiĝas kiel skribitaj dum$itemankoraŭ interpoliĝas.La korpo kaj la ferma
ENDestas krommarĝenigitaj per la samaj kvar spacetoj. La krommarĝeno de la finilo estas forigita el ĉiu linio, do tiuj kvar spacetoj neniam atingas la ĉenon — la eligo komenciĝas ĉe la maldekstra marĝeno.La heredoc jam finiĝas per novlinio, do
printestas uzata anstataŭsaypor eviti aldoni duan malplenan linion.
Kursa navigado
← Heredoko | Dato kaj tempo →