Tôi đang cố gắng tạo tất cả các phần tử tiền tố có thể có của một chuỗi đã cho trong clojure. Ví dụ, nếu từ đó là Ninja
, tôi muốn đầu ra được ("N" "Ni" "Nin" "Ninj" "Ninja")
Tạo các chất nền trong clojure
tôi có thể dễ dàng làm điều đó với điều này:
user=> (def a "Ninja")
user => (for [x (range 1 (+ 1 (.length a)))]
(subs a 0 x))
("N" "Ni" "Nin" "Ninj" "Ninja")
Và đây là tất cả tốt ... trừ .. Tôi đang sử dụng cho vòng lặp trong đó .. và nó không trông rất clojure-y .. là có một cách tốt hơn/thích hợp để làm điều này mà không có vòng lặp for hoặc là vòng lặp hoàn toàn okay trong trường hợp này?
cảm ơn bạn
phải rõ ràng, 'for' trong Clojure không phải là một vòng lặp for, đó là một danh sách hiểu – noisesmith