当我以这种方式使用 if guard 进行理解时出现一个错误。
代码:
for {
foo <- Left[String,String]("teststring").right
bar <- Right[String,String]("teststring").right if (foo==bar)
} yield (bar)
错误:
error: type mismatch;
found : Option[scala.util.Either[Nothing,String]]
required: scala.util.Either[?,?]
bar <- Right[String,String]("teststring").right if (foo==bar)
^