gì là cách thành ngữ trong Clojure để thực hiện take-while-and-n-more
dưới đây:Clojure mất-thời gian và n đối tượng nào
=> (take-while-and-n-more #(<= % 3) 1 (range 10))
(0 1 2 3 4)
thử của tôi là:
(defn take-while-and-n-more [pred n coll]
(let
[take-while-result (take-while pred coll)
n0 (count take-while-result)]
(concat
take-while-result
(into [] (take n (drop n0 coll))))))
concat trả về một chuỗi lười biếng – soulcheck
Bạn nói đúng. Tôi đã chỉnh sửa câu trả lời của mình. Tuy nhiên, việc chia nhỏ sẽ dẫn đến việc vượt qua phần khớp vị ngữ của chuỗi hai lần. –