假設我有 type VS[A] = Validation[String, A]
val v: VS[Option[A]]
val f: A => VS[B]
我想VS[Option[B]]類型的結果,但如果v是Success(None),結果也應該是Success(None)。這裏有一個例子: scala> val v: VS[Option[String]] = some("4.5").
我想在Scala中使用>=>(Kleisli箭頭)。據我瞭解,它構成了返回monad的函數。現在我試試看如下:
scala> val f = {i:Int => Some(i + 1)}
f: Int => Some[Int] = <function1>
scala> val g = {i:Int => Some(i.toString)}
g: Int => Some[String]