如何将数组的每个元素重现x次?
例如for my @a=<blu red>;,x = 5,结果应该像
(blu blu blu blu blu red red red red red)
我想出了这个
say flat map { ($_, $_, $_, $_, $_) }, @a;
Run Code Online (Sandbox Code Playgroud)
但是当然对于x的任意值,这是不实际的。
实际上如何做?谢谢。
尝试像这样使用infix xx运算符:
my @a=<blu red>;
my $x = 5;
my @b = @a.map({ $_ xx $x }).flat;
say @b;
Run Code Online (Sandbox Code Playgroud)
输出:
[blu blu blu blu blu red red red red red]
Run Code Online (Sandbox Code Playgroud)
编辑:
..或简单地使用flatmap(尽管flatmap不鼓励使用文档)
my @b = @a.flatmap({ $_ xx $x });
Run Code Online (Sandbox Code Playgroud)