nuv*_*vio 6 loops for-loop clojure
当我执行如下循环时,我有一个小代码,根本不想工作:
...
(defn my-function []
(println "Hi") ;this works
(for [i (range 10)] (println "Hello") ;this doesn't work!
)
)
...
Run Code Online (Sandbox Code Playgroud)
我无法理解问题是什么,循环内的所有代码似乎都被忽略了,而"Hi"打印没有问题
我通过GUI按钮事件调用'myfunction',如下所示:
...
(.append output-text (with-out-str (time (my-function))))
...
Run Code Online (Sandbox Code Playgroud)
您是否认为问题可能存在于GUI或我遗漏的其他内容中?有什么建议吗?我知道我应该使用REPL来测试它,但它不适用于Netbeans ......:S
非常感谢您的帮助.
Jer*_*emy 12
该for
宏是惰性的,因此除非实际需要返回值,否则它不会调用您的函数.
请改用此doseq
功能.它会强制评估你的代码,因此不是懒惰的.它具有相同的"语法",for
并允许您考虑副作用功能,如println
.
归档时间: |
|
查看次数: |
949 次 |
最近记录: |