gpt4 book ai didi

dictionary - 将 "not"添加到 Clojure 序列中的每个项目

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:52 25 4
gpt4 key购买 nike

我正在尝试将 (not(X)) 添加到序列中的所有项目 X

例如:

(a b) 转换为( (不是(a)) (不是(b)) )

当我使用 (map (fn [x] (not(x))) mylist) 时,它会尝试计算 not 并返回 bool 值。

当我使用 (map (fn [x] '(not(x))) mylist) 时,它只返回 (not(x)) 的列表无需实际放入列表的变量。

(a b) --> ( (not(a)) (not(b)) ) ?谢谢!

最佳答案

user=> (map (fn [x] (list 'not (list x))) '(a b))
((not (a)) (not (b)))

' 单引号运算符可以方便地制作列表,因为它可以防止评估,但它在您的情况下不可用,因为您在结果列表中包含要评估的内容。

另一个选项是 ` AKA quasiquote,它允许选择性取消引号,但也允许命名空间符号(再一次,在您的情况下没有用,您希望按字面意思使用符号)。

关于dictionary - 将 "not"添加到 Clojure 序列中的每个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940765/

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