防止字符串变量被解构

Keeping a string variable from being destructured

这里的问题很简单,但它真的难倒了我。

我这里有一个小功能:

(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)))))

我已经更改了代码的重要部分,但它基本上只需要映射一个字符串列表,然后重复出现。但是,当我开始循环时,urls 自然会将 start-string 解构为一个字符列表,这是我不想要的。

同时,如果我这样做

(loop [urls '(start-url) index n]

不出所料 returns 具有未评估的开始的 seq-urls.

我只想把我的 start-url 保存为一个字符串。有任何想法吗?一定很简单,可惜,我是在逃避。

执行 (loop [urls [start-url] index n] ... 应该使 urls 成为包含单个字符串 start-url 的向量,而无需解构。

'(start-url) 不这样做的原因是引用适用于整个结构,包括 start-url(list start-url) 应该可以,但在这种情况下通常最好使用向量。