(這個問題類似於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)
現在我想重新使用它,寫一個新的函數來檢查字符串列表的