3

左側を1つのリストにフラット化する標準的な方法はありますか?

ありがとう!

4

2 に答える 2

3

あなたが何をしようとしているのか正確にはわかりませんが、Monoidインスタンスはそのトリックを実行する必要があります。

scala> List(
     |   println("test").successNel[String],
     |   "a".failNel[Unit],
     |   "b".failNel[Unit]
     | ).suml == Failure(NonEmptyList("a", "b"))
test
res0: Boolean = true

インスタンスsumlを含む何かでいっぱいのコレクションにピンポンされるメソッドはどこにありますか。Monoid

于 2012-10-03T15:58:40.320 に答える
1

さて、ここにトリックを行ういくつかのコードがあります:

scala> type MyValidationNEL[A] = ValidationNEL[String, A]
defined type alias MyValidationNEL

scala> val x: List[MyValidationNEL[Unit]] = 
     | List("a".failNel, "b".failNel)
x: List[MyValidationNEL[Unit]] = List(Failure(NonEmptyList(a)), Failure(NonEmptyList(b)))

scala> x.sequence
res57: MyValidationNEL[List[Unit]] = Failure(NonEmptyList(a, b))

scala> 

私はこのプレゼンテーションの例に参加しました: http : //www.scribd.com/doc/93526802/Bjarnason-ScalazbyRúnarBjarnasonhttp : //scalaz.org

于 2012-10-03T19:00:51.767 に答える