我正在尝试在REPL中使用Either创建asRight的实例:

import cats._
import cats.data._
import cats.implicits._

scala> val x = "xxx".asRight
<console>:20: error: value asRight is not a member of String
       val x = "xxx".asRight
                 ^

scala> import cats.syntax.either._
import cats.syntax.either._

scala> val x = "xxx".asRight
<console>:23: error: value asRight is not a member of String
       val x = "xxx".asRight
                 ^

上面的代码有什么问题?是否可以在REPL中使用asRight

最佳答案

包含EitherIdOpsasRight ops的asLeft最初是在cats 0.9.0(撰写本文时的最新版本)中引入的。您最有可能使用的是较早版本。

scala> import cats._, implicits._
import cats._
import implicits._

scala> "xxx".asRight
res0: Either[Nothing,String] = Right(xxx)

scala> "xxx".asRight[Int]
res1: Either[Int,String] = Right(xxx)

关于scala - 如何使用 `asRight`与猫一起创建任何一个实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42737887/

10-09 18:20