我有一个场景,其中我有一个map,它有一个字段,该字段将是一系列嵌套列表,以创建一个树状结构。我用‘so’引用了列表,这样它就可以工作了,如果没有它,我就会在它试图执行它的时候得到错误。
(def test-map
{:tree '("1" "2" "3" '("1" "2"))})问题是,这似乎将“引用”这个词添加到了实际列表中。
(:tree test-map)
;("1" "2" "3" (quote ("1" "2")))
(first (last (:tree test-map)))
;quote我的问题是,我怎样才能摆脱这个“引用”文本。我的目标是能够以一定的数量遍历这些类型的列表,并能够以给定的深度按顺序输出字符串。
(for [text (second (last (:tree test-map)))]
text)这是一个基本的想法,但在视觉上不得不使用second在这里感觉很奇怪。我正在处理的列表是第一项。
有没有办法对列表做我想做的事情?使用向量是不是更好的主意?
发布于 2020-08-06 05:04:22
只是不要引用内部列表。Quotation应用于整个嵌套结构,因此如果您希望构建特定的数据结构,您只需将引号放在前面,然后正常地写出数据结构。
https://stackoverflow.com/questions/63273395
复制相似问题