相关疑难解决方法(0)

如何减少Common Lisp中的布尔值列表?

给定一个值列表,如果所有元素都不是NIL,我想将列表减少到T,否则就是NIL.这给了我一个错误:

(apply #'and (get-some-list))
Run Code Online (Sandbox Code Playgroud)

就像这样:

(reduce #'and (get-some-list))
Run Code Online (Sandbox Code Playgroud)

这是我提出的最好的:

[11]> (defun my-and (x y) (and x y))
MY-AND

[12]> (reduce #'my-and '(T T T T T))
T

[13]> (reduce #'my-and '(T T T T NIL))
NIL
Run Code Online (Sandbox Code Playgroud)

为什么"#"和"无效?在Common Lisp中有更惯用的方法吗?

reduce common-lisp apply

12
推荐指数
2
解决办法
2345
查看次数

标签 统计

apply ×1

common-lisp ×1

reduce ×1