我正在尝试编写一个函数,它接受一个字符串并返回一个过滤函数的结果(我正在解决4clojure问题).结果也必须是字符串.
我写过:
(fn my-caps [s]
(filter #(Character/isUpperCase %) s))
(my-caps "HeLlO, WoRlD!")
Result: (\H \L \O \W \R \D)
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用clojure.string/join从这个列表中创建一个字符串,如下所示:
(fn my-caps [s]
(clojure.string/join (filter #(Character/isUpperCase %) s)))
Run Code Online (Sandbox Code Playgroud)
结果是一样的.我也尝试过使用apply str,没有成功.
尝试这个:
(defn my-caps [s]
(->> (filter #(Character/isUpperCase %) s)
(apply str)))
Run Code Online (Sandbox Code Playgroud)
filter函数返回一个惰性序列。如果你想得到 a string,你应该通过应用函数将序列转换为字符串str。
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |