にフィードできるように、副作用のある関数から戻り値のコレクションを生成する方法を探していますtake-while
。
(defn function-with-side-effects [n]
(if (> n 10) false (do (perform-io n) true)))
(defn call-function-with-side-effects []
(take-while true (? (iterate inc 0) ?)))
アップデート
ヤンの答えの後に私が持っているものは次のとおりです。
(defn function-with-side-effects [n]
(if (> n 10) false (do (println n) true)))
(defn call-function-with-side-effects []
(take-while true? (map function-with-side-effects (iterate inc 0))))
(deftest test-function-with-side-effects
(call-function-with-side-effects))
テストを実行しても何も出力されません。を使用doall
すると、メモリ不足の例外が発生します。