标签: raku
如何再现数组的每个元素 x 次?
例如for my @a=<blu red>;和 x = 5 ,结果应类似于
for my @a=<blu red>;
(blu blu blu blu blu red red red red red)
我想出了这个
say flat map { ($_, $_, $_, $_, $_) }, @a;
但是对于x的任意值,这是不实际的。
实际上如何做?谢谢。
答案 0 :(得分:5)
尝试像这样使用infix xx运算符:
my @a=<blu red>; my $x = 5; my @b = @a.map({ $_ xx $x }).flat; say @b;
输出:
[blu blu blu blu blu red red red red red]
修改:
..或简单地使用flatmap(尽管不鼓励使用flatmap)
flatmap
my @b = @a.flatmap({ $_ xx $x });