这里非常简单的问题,但它确实让我很难过。
我在这里有一个小功能:
GRASS_BATCH_JOB
我已经更改了代码的重要部分,但它基本上只需要映射字符串列表,然后重复。但是,当我开始循环时,网址会自然地将start-string结构化为一个字符列表,这是我不想要的。
与此同时,如果我做了
(defn something
[start-url n]
(loop [urls start-url index n]
(if (= index 0)
(set urls)
(recur
(flatten (pmap #(str *base-url* %) urls))
(dec index)))))
毫无疑问,使用未评估的start-urls返回seq。
我想做的就是把我的start-url保存为字符串。有任何想法吗?它必须非常简单,但是,它正在逃避我。
答案 0 :(得分:2)
执行(loop [urls [start-url] index n] ...
会使urls
成为包含单个字符串start-url
的向量,而不会进行解构。
'(start-url)
不这样做的原因是引用适用于整个结构,包括start-url
。 (list start-url)
应该有效,但在这种情况下,矢量通常更可取。