将clojure.contrib.strint与别处定义的字符串一起使用

将clojure.contrib.strint与别处定义的字符串一起使用,clojure,clojure-contrib,Clojure,Clojure Contrib,我是clojure的新手,我正在尝试使用clojure.contrib.strint来构建URL。例如,我可能会将其用于谷歌搜索: (def search_base_url "http://www.google.com/search?hl=en&q=~{query}") (defn search_url [search_term] (let [query (.replaceAll search_term "\\s+" "+")] (<< search_base_

我是clojure的新手,我正在尝试使用clojure.contrib.strint来构建URL。例如,我可能会将其用于谷歌搜索:

(def search_base_url "http://www.google.com/search?hl=en&q=~{query}")

(defn search_url [search_term]
  (let [query (.replaceAll search_term "\\s+" "+")]
    (<< search_base_url)))
(def search\u base\u url)http://www.google.com/search?hl=en&q=~{query}”)
(定义搜索url[搜索词]
(let[query(.replaceAll搜索词“\\s++”)

(我看了一下
的源代码问题是,“当
查询
是一个let-local时,

(defmacro <<<
    [string]
      `(apply str (map #(eval %) (interpolate ~string))))
(def query "queryitem")
(def basesearch "http://www.google.com/search?hl=en&q=~{query}")

(<<< basesearch)
"http://www.google.com/search?hl=en&q=queryitem"
 (interpolate basesearch)
 ("http://www.google.com/search?hl=en&q=" query "")
(defn search-url [search-term]
  (let [query (.replaceAll search-term "\\s+" "+")]
    (<< "http://www.google.com/search?hl=en&q=~{query}")))