字符串的載體列表如果我有:串聯Clojure中
(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"])
我怎樣才能得到:
"aa=AA&bb=BB&cc=CC"
是有連擊功能可用?
字符串的載體列表如果我有:串聯Clojure中
(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"])
我怎樣才能得到:
"aa=AA&bb=BB&cc=CC"
是有連擊功能可用?
concat
在一個水平將 「扁平化」 的嵌套序列:
(apply concat '(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"]))
;; => ("aa=AA" "&" "bb=BB" "&" "cc=CC")
然後你可以使用str
連接序列中的字符串:
(apply str '("aa=AA" "&" "bb=BB" "&" "cc=CC"))
;; => "aa=AA&bb=BB&cc=CC"
組合成一個功能:
(defn concat-str [s]
(->> s
(apply concat)
(apply str)))
(concat-str '(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"]))
;; => "aa=AA&bb=BB&cc=CC"
如下您可以實現它:
(def concatenate (comp (partial apply str) flatten))
然後:
user> (concatenate '(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"]))
aa=AA&bb=BB&cc=CC
只是爲了好玩: 你也可以使用map
函數的行爲此
user> (defn conc [items] (first (apply map str items)))
#'user/conc
user> (conc '(["aa=AA"] ["&"] ["bb=BB"] ["&"] ["cc=CC"]))
"aa=AA&bb=BB&cc=CC"