For loop 加载字符串不';我不能在循环中工作
在REPL中,这段代码工作得很好,给出了答案36For loop 加载字符串不';我不能在循环中工作,for-loop,clojure,For Loop,Clojure,在REPL中,这段代码工作得很好,给出了答案36 (do (load-string (str "(def yyy" 2 " 18)")) (* 2 yyy2)) 当我在其中引入for循环时,它就不起作用了 (do (for [x [1 2 3]] (load-string (str "(def yyyy" x " 18)"))) (* 2 yyyy2)) 错误表示无法解析应在加载字符串中定义的符号yyyy2。有专家能给我解释一下原因吗?谢谢 生成一个惰性序列,因此在您强制对其
(do
(load-string (str "(def yyy" 2 " 18)"))
(* 2 yyy2))
当我在其中引入for循环时,它就不起作用了
(do
(for [x [1 2 3]]
(load-string (str "(def yyyy" x " 18)")))
(* 2 yyyy2))
错误表示无法解析应在加载字符串中定义的符号yyyy2。有专家能给我解释一下原因吗?谢谢 生成一个惰性序列,因此在您强制对其求值之前,不会对加载字符串
表达式求值。您可以通过在或中为换行来强制执行
对于只需要使用副作用或只需要迭代一系列数字的情况,也可能很方便。生成一个延迟序列,因此加载字符串
表达式在强制计算之前不会进行计算。您可以通过在或中为
换行来强制执行
对于只需要使用副作用或只需要迭代一系列数字的情况,也可能很方便。不要在dorun
或doall
中包装For
,而应该将For
替换为。@samestp你是对的-我已经编辑了我的答案。谢谢您不应该在dorun
或doall
中包装for
,而应该将for
替换为@SamEstep您是对的-我已经编辑了我的答案。谢谢