raku - 在 Raku 中实际再现数组的元素

标签 raku

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

例如 for my @a=<blu red>; x=5 ,结果应该是这样的
(blu blu blu blu blu red red red red red)
我想出了这个

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

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

如何实际操作?谢谢你。

最佳答案

尝试使用 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 });

关于raku - 在 Raku 中实际再现数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58895533/

相关文章:

match - Any.match 是做什么的?

https - 如何配置 Bailador 通过 TLS (HTTPS) 提供内容?

raku - raku 角色中的签名限制

regex - 正则表达式中的 $/和 $¢ 有什么区别?

raku - 在 Perl 6 中过滤具有许多相同长度的键的数组

testing - 以不同顺序执行时测试失败

oop - raku 内置访问器方法可以被子类覆盖吗?

operators - Perl6 运算符问题

raku - 如果需要该文件,Perl 6 是否应该运行 MAIN?

grammar - Perl6 语法 : match full line