क्या Clojure में मुहावरेदार तरीका है take-while-and-n-more
नीचे लागू करने के लिए:Clojure ले, जबकि और n अधिक आइटम
=> (take-while-and-n-more #(<= % 3) 1 (range 10))
(0 1 2 3 4)
मेरे कोशिश है:
(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 एक आलसी अनुक्रम देता है – soulcheck
आप सही हैं। मैंने अपना जवाब संपादित किया। फिर भी, विभाजन के साथ क्रमशः अनुक्रम के मिलान-मिलान भाग को पार करने में परिणाम मिलेगा। –