几乎在Raku

时间:2019-11-16 21:52:09

标签: raku

如何再现数组的每个元素 x 次?

例如for my @a=<blu red>; x = 5 ,结果应类似于

(blu blu blu blu blu red red red red red)

我想出了这个

say flat map { ($_, $_, $_, $_, $_) }, @a;

但是对于x的任意值,这是不实际的。

实际上如何做?谢谢。

1 个答案:

答案 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

my @b = @a.flatmap({ $_ xx $x });