gpt4 book ai didi

clojure - "foo = bar || baz"的 Clojure 惯用语是什么?

转载 作者:行者123 更新时间:2023-12-02 03:20:02 24 4
gpt4 key购买 nike

我想提供一个可以覆盖的默认值。我知道我可以使用三元,如下所示:

(def foo (if (not (nil? bar)) bar baz))

但在 Clojure 中肯定有一种更惯用的方式来表示“使用 bar,如果 bar 为零,则使用 baz。

有什么建议吗?

最佳答案

这将分配bar,除非它是nilfalse,否则为baz

(def foo (or bar baz))

编辑

如果你想精确地检查nil,你可以稍微优化你的原始代码,如下所示:

(def foo (if (nil? bar) baz bar))

我相信,这是最短的方法,尽管不惯用。

关于clojure - "foo = bar || baz"的 Clojure 惯用语是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10152143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com