Clojure 防止字符串变量被解构

Clojure 防止字符串变量被解构,clojure,Clojure,这里的问题很简单,但它真的让我难堪 我在这里有一个小功能: (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)))

这里的问题很简单,但它真的让我难堪

我在这里有一个小功能:

(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)))))
我已经更改了代码的重要部分,但它基本上只需要映射一个字符串列表,然后重新出现。然而,当我启动循环时,URL会自然地将起始字符串分解成一个字符列表,这是我不想要的

同时,如果我

(loop [urls '(start-url) index n]
毫不奇怪,它返回的seq带有未计算的起始URL

我所要做的就是将我的起始url作为字符串保存。有什么想法吗?这一定很简单,但唉,这让我不知所措。

执行
(循环[url[start url]index n]…
应该将
url
生成一个包含单个字符串
start url
的向量,而无需进行解构


”(开始url)
不这样做的原因是引号应用于整个结构,包括
开始url
(列表开始url)
应该可以工作,但在这种情况下向量通常更可取。

开始url
一个url还是它们的集合?我用一个url调用函数,但我想用它作为集合开始循环。哈哈,我做了
(vec开始url)
甚至…啊,太接近了。但这是我需要的,谢谢!这很有意义。