(这个问题类似于this question但这个问题只得到的评价推荐的errors包,我想的更多细节。) 我工作的一个程序使用两种不同的软件包,它们都返回IO (Either e a)或Either e a。但是这些库之间的e不一样。 我想知道如何构造使用这两个库的函数。我应该使用errors的提示使我hush和note,但这并不感到很正确: data MyError = Error1 | Err
假设我有一个函数来检查的字符串: case class MyError(msg: String)
val oops = MyError("oops")
def validate(s: String):Either[MyError, Unit] =
if (s == "a") Right(()) else Left(oops)
现在我想重新使用它,写一个新的函数来检查字符串列表的