在Scala和Haskell等函数式编程语言中,有一种Either
类型,通常用于表示成功的结果或一个失败/错误对象。据说其中一个是“离开”。如果它包含失败并且是正确的'当它包含一个成功的结果时。
有没有理由"不成功"是"左"并且"成功"是"对"?为什么这些方向首先使用?
答案 0 :(得分:1)
来自Haskell的Data. Either文档:
Left构造函数用于保存错误值,Right构造函数用于保存正确的值(助记符:“right”也表示“正确”)。
答案 1 :(得分:1)
这只是猜测,但在Haskell中Either
是第二种类型的monadic,它是与Right
构造函数关联的类型。因此,通用monadic代码只会更改正确的类型,因此保持不变的左类型用于保存错误。
因此,主要原因是将类型参数交换为Either
,以使Either a b
为Left b
或Right a
令人烦恼,因为没有真正的好处。