为什么我不能从内部的 Either 投影中提取元组以使用模式匹配进行理解?
why can't I extract a tuple from Either projection inside for comprehension using pattern matching?
为什么这样做:
val somePair: Option[(String,String)] = Some(("John", "Doe"))
(for {
pair <- somePair.toRight("Hello unknown!").right
} yield s"Hello ${pair._1} ${pair._2}!").merge
但事实并非如此:
val somePair: Option[(String,String)] = Some(("John", "Doe"))
(for {
(name,lastName) <- somePair.toRight("Hello unknown!").right
} yield s"Hello $name $lastName!").merge
编辑:
我应该添加这是错误消息:
Error:(43, 4) constructor cannot be instantiated to expected type;
found : (T1, T2)
required: scala.util.Either[Nothing,(String, String)]
(name,lastName) <- somePair.toRight("Hello unknown!").right
^
这是 Scala 中的一个错误,不幸的是,它已经开放了很长时间。
为什么这样做:
val somePair: Option[(String,String)] = Some(("John", "Doe"))
(for {
pair <- somePair.toRight("Hello unknown!").right
} yield s"Hello ${pair._1} ${pair._2}!").merge
但事实并非如此:
val somePair: Option[(String,String)] = Some(("John", "Doe"))
(for {
(name,lastName) <- somePair.toRight("Hello unknown!").right
} yield s"Hello $name $lastName!").merge
编辑:
我应该添加这是错误消息:
Error:(43, 4) constructor cannot be instantiated to expected type;
found : (T1, T2)
required: scala.util.Either[Nothing,(String, String)]
(name,lastName) <- somePair.toRight("Hello unknown!").right
^
这是 Scala 中的一个错误,不幸的是,它已经开放了很长时间。