我有两个值,t1
和t2
,类型为Either String Type
。-valueLeft
用于错误处理。这些值在返回的函数中使用Either String Type
。
我想要做的是检查两者是否t1
和t2
都是Right
-values 和满足p :: Type -> Bool
。如果他们这样做,我想返回Right (the type inside t1)
。如果t1
和t2
都是Right
- 值,但不满足p
,我想返回Left someString
。如果其中一个t1
ort2
是一个Left
值,我只想传递该值。
我怎样才能以优雅的方式做到这一点?我有一种预感,使用 Either 作为 monad 是正确的做法,但我不确定如何去做。