Perl 6 / все про x

Операторы повтора x и xx

Операторы x и xx повторяют свой аргумент заданное число раз. Отличие между ними в том, что x всегда считает левый операнд строкой, и возвращает строку, а xx рассматривает аргумент в списочном контексте, и возвращает список.

my $item = '*';
say $item x 5; # *****
my @list = 1, 2;
say @list xx 2 # печатает список ((1, 2), (1, 2)) как 1212

Если запрошенное число повторов меньше единицы, возвращаются соответственно, пустая строка и пустой список.

Списочный вариант оператора допускает создание lazy-списков бесконечной длины:

my @letters = 'a'..'z';
.print for @letters xx *;

Этот код печатает бесконечную последовательность букв.

operators, x, xx — 6 мая 2008