【发布时间】:2014-05-21 11:40:53
【问题描述】:
我正在尝试在 clojure 中生成给定字符串的所有可能的前缀子字符串。例如,如果单词是Ninja,我希望输出是("N" "Ni" "Nin" "Ninj" "Ninja")
我可以很容易地做到这一点:
user=> (def a "Ninja")
user => (for [x (range 1 (+ 1 (.length a)))]
(subs a 0 x))
("N" "Ni" "Nin" "Ninj" "Ninja")
这一切都很好......除了......我在那里使用了一个for循环......而且它看起来不是很clojure-y..有没有更好/正确的方法可以在没有for循环的情况下做到这一点还是在这种情况下 for 循环完全没问题?
谢谢
【问题讨论】:
-
要清楚,Clojure 中的
for不是 for 循环,它是一个列表推导
标签: for-loop clojure substring