gpt4 book ai didi

clojure - 从 clojure 中的普通 lisp 替换 (null x) 函数的惯用方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:01 24 4
gpt4 key购买 nike

在 Common Lisp 中,您使用 (null x) 函数来检查空列表和 nil 值。

从逻辑上讲,这映射到

(or (nil?  x) (= '() x))

在 Clojure 中。有人可以建议在 Clojure 中使用更惯用的方法吗?

最佳答案

要在 Clojure 中获得与在 Common Lisp 中相同的空列表结果,请使用 empty? 函数。此函数位于核心库中:无需导入。

它也是一个谓词,并带有 ? 后缀,让您更清楚地知道您在代码中到底做了什么。

=> (empty? '())
true
=> (empty? '(1 2))
false
=> (empty? nil)
true

正如 j-g faustus 已经指出的,seq 可用于实现类似的效果。

关于clojure - 从 clojure 中的普通 lisp 替换 (null x) 函数的惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237405/

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