for循环不执行
for-loop doesn't executing
我正在编写小函数并且有一个奇怪的错误。我的 for 循环没有执行:
(fn [resp]
(let [i
(s/split resp #"<br>")]
(for [j i]
(println j))))
所以我没有结果,我的 for 部分中的代码也不重要。有什么问题吗?
已编辑:
我重写了我的函数:
(fn [resp]
(for [i (s/split resp #"<br>")]
(println i))
它仍然没有执行。
您遇到了 Clojure for
循环的惰性方面:
(defn dummy []
(println :aaa)
(for [i [1 2 3]]
(println i))
(println :bbb)
(vec
(for [i [1 2 3]]
(println i)))
(println :ccc))
调用时,你得到输出:
:aaa
:bbb
1
2
3
:ccc
vec
(或doall
)将强制计算惰性循环,从而导致(println i)
表达式为运行。
您可以在 this list of documentation 中查看更多详细信息。
我正在编写小函数并且有一个奇怪的错误。我的 for 循环没有执行:
(fn [resp]
(let [i
(s/split resp #"<br>")]
(for [j i]
(println j))))
所以我没有结果,我的 for 部分中的代码也不重要。有什么问题吗?
已编辑:
我重写了我的函数:
(fn [resp]
(for [i (s/split resp #"<br>")]
(println i))
它仍然没有执行。
您遇到了 Clojure for
循环的惰性方面:
(defn dummy []
(println :aaa)
(for [i [1 2 3]]
(println i))
(println :bbb)
(vec
(for [i [1 2 3]]
(println i)))
(println :ccc))
调用时,你得到输出:
:aaa
:bbb
1
2
3
:ccc
vec
(或doall
)将强制计算惰性循环,从而导致(println i)
表达式为运行。
您可以在 this list of documentation 中查看更多详细信息。