【发布时间】:2018-05-02 11:42:33
【问题描述】:
我想知道如何定义一个运算符/如果 Haskell 中已经存在一个运算符,让我们选择第一个不是 Nothing 的 Maybe 类型,如果它们都没有,它会返回一些默认值。基本上是这样的:
let x = a ?? b ?? c ?? 1
其中(??) 是运算符,a, b, c 都是Maybe 类型。如果所有a, b, c 都是Nothing,我希望这段代码返回Just 或1 的第一个值。
我基本上希望复制与您在 C# 或其他语言中找到的空合并运算符相同的功能。
这个问题展示了如何在 F# (Null Coalescing Operator in F#?),它很 hacky。有没有办法在 Haskell 中干净利落地做到这一点,如果没有,你最接近它的方法是什么?
【问题讨论】:
-
Hoogle 是寻找这类东西的好工具。
标签: haskell null maybe null-coalescing-operator