gpt4 book ai didi

if-statement - 判断(if)中的nil值的更简单方法?

转载 作者:行者123 更新时间:2023-12-04 04:46:41 29 4
gpt4 key购买 nike

我经常这样写:

(if (nil? a-value) another-value a-value)

是否有更简单的功能可用,例如:

(if-nil? a-value another-value)

最佳答案

如果你想使用默认值,那么通常的习惯用法是使用宏:

(or foo default-value)

foo 为假(nil 或 false)时返回 default-value,或者当 foo 时返回 foo > 是真实的(即除 false 之外的任何非 nil 值)。

您通常还可以使用 if-not在这种情况下,因为 nil 被认为是错误的。当然,您需要注意实际的 false 值,因为这些值将被视为与 nil 相同。

作为最后一个选项,您始终可以使用宏来准确获取您正在寻找的 if-nil? 行为:

(defmacro if-nil? 
([a b] (if-nil? a b nil))
([a b c]
`(if (nil? ~a) ~b ~c)))

关于if-statement - 判断(if)中的nil值的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226150/

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