gpt4 book ai didi

clojure - 如何从 Clojure 中的嵌套列表或向量中按类型删除项目?

转载 作者:行者123 更新时间:2023-12-03 00:30:15 25 4
gpt4 key购买 nike

如果我只想删除向量,有没有办法按类型删除嵌套列表中的项目,使 (1 [2] 3 (4 [5] 6)) 变为 (1 3 (4 6)) ?

使用 postwalk,我可以用 nil 替换所有向量,但我找不到删除它们的方法。

(clojure.walk/postwalk 
#(if (vector? %) nil %) '(1 [2] 3 (4 [5] 6)))

=>(1 nil 3 (4 nil 6))

最佳答案

远非完美,但也许这是一个好的开始:

 (clojure.walk/prewalk #(if (list? %) (remove vector? %) %) '(1 [2] 3 (4 [5] 6)))

关于clojure - 如何从 Clojure 中的嵌套列表或向量中按类型删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12646950/

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