我是 clojure 的新手,我正在尝试使用 clojure.contrib.strint 来构建一个 URL。例如,我可能会将其用于 google 搜索:
(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)))
但这给了我编译器错误:
错误:java.lang.RuntimeException:java.lang.RuntimeException:java.lang.IllegalArgumentException:找不到匹配的方法:类clojure.lang.Symbol的indexOf。
我认为 strint 使用 indexOf 几次,所以我似乎没有给 << 函数它想要的东西。
我也试过(def search_base_url '(<< "http://myurl.com?~{params}"))
了,但是我不知道如何在我的 let 上下文中评估该表单。我可以把字符串放在 search_url 函数中,但这感觉不如我,我希望这个问题的答案能帮助我更好地理解 clojure。
谢谢