【发布时间】:2012-08-22 09:39:15
【问题描述】:
我有几个字符串:
(def a "some random string")
(def b "this is a text")
现在我想连接它们的一部分来创建一个字符串“一些文本”。不幸的是,下面的两个字符串都不起作用。
(clojure.string/join " " [(take 4 a) (take-last 4 b)])
(str (take 4 a) " " (take-last 4 b))
这是因为函数 take 和 take-last 返回惰性序列。问题是:连接多个惰性字符串序列并返回一个字符串的正确方法是什么?
编辑:我找到了一种解决方案 - (apply str (concat (take 4 a) " " (take-last 4 a))) - 但这是最正确的方法吗?
【问题讨论】:
-
您的编辑方式对我来说看起来不错。
标签: string clojure concatenation lazy-sequences