(defn seq-trial
[]
(map #(do (println "hello " %) (inc %)) (range 10)))
(take 3 (seq-trial))
上記のコード スニペットを評価すると、次のように出力されます -
(こんにちは 0 こんにちは 1 こんにちは 2 こんにちは 3 こんにちは 4 こんにちは 5 こんにちは 6 こんにちは 7 こんにちは 8 こんにちは 9 1 2 3)
map は遅延シーケンスを返すため、これは印刷のみを期待していました-
(こんにちは 0 こんにちは 1 こんにちは 2 1 2 3)
ここでリスト全体が評価されるのはなぜですか?