2

いくつかの関数を含むリストと、構成リストのように機能するブール値を含むリストがあり、サイズが等しいとしましょう。

val conf = List(true, false, true)
val funcs = List(f1, f2, f3)

それらをマージすると、結果は次のようになります。

val res = List(f1, f3)

これは Scalaz の Applicative builder でできると確信しています。

4

1 に答える 1

3

注意しなければならないのは、Scalaz なしでそれを解決するのは非常に単純なことです。

scala> val a = List(true, false, true)
a: List[Boolean] = List(true, false, true)

scala> val b = List(1,2,3)
b: List[Int] = List(1, 2, 3)

scala> a.view.zip(b).filter(_._1).map(_._2).force
res3: Seq[Int] = List(1, 3)
于 2013-05-23T09:50:23.600 に答える