mapreduce - 检查列表的所有元素是否在 Raku 中都是素数

标签 mapreduce raku

my @g = (1,2,3,4);
say reduce {is-prime}, @g; # ==> gives error
say reduce {is-prime *}, @g; #==> gives error
say reduce {is-prime}, (1,2,3,4); # ==> gives error
say so is-prime @g.all; # ==> gives error

如何检查列表中的所有元素是否在 Raku 中都是素数?

最佳答案

上面的答案都很有帮助,但它们无法解释为什么您的解决方案不起作用。基本上reduce不会将函数(在您的情况下,is-prime)应用于列表的每个成员。你要map为了那个原因。错误说

Calling is-prime() will never work with signature of the proto ($, *%)

因为 reduce需要一个中缀,因此是二进制、函数或带有两个参数的函数;它所做的是将它们应用于第一对元素,然后应用于结果和第三个元素,依此类推。由于类似的原因,最后一条语句不起作用:您使用列表参数调用 is-prime,而不是单个参数。

关于mapreduce - 检查列表的所有元素是否在 Raku 中都是素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62246666/

相关文章:

java - HADOOP - 从 MapReduce 作业发出 JSON

mongodb - Hadoop 中的增量 MapReduce(使用 mongodb-hadoop 适配器)

hadoop - 减少之前的 MapReduce 过滤器

java - 使用(Java编程)查找hadoop中的最大整数值

promise - 开始 - 等待 : output order

oop - 以编程方式查找 Raku 包中的所有类、语法和角色

python - Google App Engine 中不止一种数据存储类型的 MapReduce

bioinformatics - 使用 perl 6 计算 DNA 核苷酸

raku - 如何使 Perl 6 类最终?

openssl - Windows 机器上的 Raku 和 SSL 问题