1

コースの最初の課題https://www.coursera.org/course/progfun 私は次のことをしたいと思います

   val l1 = List(1,2,3)
   val l2 = List(4,5,6)

   val lSum = l1.someOperation(l2)
   RES: lSum=List(5,7,9)  

ループを使用してsomeOperationを実装することはできますが、それはあまりスカラーっぽく見えません。これを実現するための組み込み関数があるかどうか疑問に思っています。

4

3 に答える 3

9

に加えてzip、標準ライブラリはzipped、タプルを分解する必要を回避するものも提供します。

(l1, l2).zipped.map(_ + _)

于 2012-09-22T17:41:21.293 に答える
6

それらを圧縮して、マップで通常どおり追加を実行できます。

l1.zip(l2).map(x => x._1 + x._2)
于 2012-09-22T16:50:17.053 に答える
1

これはおそらく @om-nom-nom のコードよりも Scalaish です。Scala は、言語としてはまだかなり歴史が浅いため、実際に何が Scalaish であり、何が Scalaish でないかについては、まだ議論が続いいます

l1 zip l2 map { case (a, b) => a + b }
于 2012-09-22T17:33:00.370 に答える