scala - 使用这些集合中元素的增量阴影计算每个元素上的函数的最佳方法

标签 scala collections dictionary slice

计算集合中每个元素的函数的最佳方法是什么,每个元素都有增量阴影,就像这个简单的例子:

val v = IndexedSeq(1,2,3,4)

v.shadowMap{ e => e + 1}

shadow 1: (3,4,5)
shadow 2: (2,4,5)
shadow 3: (2,3,5)
shadow 4: (2,3,4)

我认为首先要patchslice 来做这个,但也许有更好的方法以纯函数式的方式做到这一点?

谢谢 高级

最佳答案

def shadowMap[A,B](xs: Seq[A])(f: A => B) = {
  val ys = xs map f
  for (i <- ys.indices; (as, bs) = ys splitAt i) yield as ++ bs.tail
}

关于scala - 使用这些集合中元素的增量阴影计算每个元素上的函数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11636124/

相关文章:

Scala:将空序列与 Nil 匹配

wpf - 绑定(bind)到集合中的单个元素

scala - 变量绑定(bind)到 Scala 匹配表达式中 case 子句中的模式

scala - 没有从神器获取最新快照

javascript - npm 项目的 Scala.js 外观

java - 如何使用 Spring ClientResponse 使用 Map?

c++ - map 删除器在 C++ 中不起作用?

java - 如何使用play.WS获取java.io.file?

java - 在hibernate中保存值类型集合

python - Python字典中的整型键是否按优先级排序和排序?