Vector 在clojure中连接字符串向量列表
如果我有:Vector 在clojure中连接字符串向量列表,vector,clojure,Vector,Clojure,如果我有: (["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"])
我如何获得:
"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
您可以按如下方式实施:
(def concatenate (comp (partial apply str) flatten))
然后:
user> (concatenate '(["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"
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"
只是为了好玩:
您还可以使用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"
只是为了好玩:
您还可以使用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"