【发布时间】:2016-07-02 01:49:49
【问题描述】:
我来自 R 背景,所以我习惯使用 R 的 *apply 系列函数。
Scala 的 list.foreach(_.fun) 和 list.map(_.fun) 函数与 R 的 lapply(list, fun) 函数非常相似,因为它们都在列表的每个元素上迭代地执行一个函数。
但是,R 也有一个函数mapply(fun, list1, list2, ...),当一个有多个列表并且想要对每个列表的第一个元素、每个列表的第二个元素等应用一个函数时,它很有用。例如,如果我有一个函数add(x, y, z),以及两个列表x=(1, 2, 3)、y=(2, 3, 4) 和z=(3, 4, 5),mapply(add, x, y, z) 将返回(6, 9, 12)。
Scala 是否有任何等效于 R 的 mapply,但不使用 for 循环?
【问题讨论】:
-
有人能解释为什么这个问题被否决了吗?我在问一个编程问题,这个问题在 Google 上并不容易,而且似乎在 Stack Overflow 上也没有重复。不发表评论就投反对票不会对社区做出贡献。
-
我没有对你投反对票,但是因为我也不喜欢没有 cmets 的投反对票,而且我有足够的代表知道为什么人们投票关闭你的帖子,我可以告诉你。他们指出的规则是“要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,描述问题以及迄今为止为解决该问题所做的工作”
-
这个怎么样:dahl.byu.edu/software/rscala/rscala-jss.pdf。你可以在 Scala 中使用
mapply! -
我不懂 Scala,但this 似乎是同一个一般问题。
-
@Hack-R:这是一个非常有趣的包!我认为对于这样的问题实际上切换到 R 编程有点过头了,但存在这个选项很酷。