Курс по Raku / Напреднали / Повече за вградените типове / Конструкции за цитиране 🆕 / Exercises / Closure в q низ
Решение: Closure в q низ
Ето едно възможно решение на задачата.
Код
my $x = 10;
say q:c/$x squared is {$x ** 2}/;🦋 Можете да намерите изходния код във файла closure-quote.raku.
Изход
$x squared is 100Коментари
Наречието
:c(closure — затваряне) включва интерполирането на вграден код{ … }в иначе буквалната формаq. Вътре във фигурните скоби$xе истински код, така че{$x ** 2}се изчислява на100.$xизвън фигурните скоби остава точно както е написано, защото скаларното наречие:sне е активирано. В това е цялата идея на наречията за отделни функции: получавате вграден код, без да включвате и$-интерполиране.Наречията могат да се комбинират. Добавете и
:sи водещото$xсъщо ще бъде интерполирано — и двете функции вече са включени едновременно:
my $x = 10;
say q:c:s/$x squared is {$x ** 2}/; # 10 squared is 100Навигация в курса
← Closure в q низ | Heredoc →