python - 如何在 Clojure 的 while 循环中应用嵌套的 for 循环?
问题描述
在 Python 的 while 循环中应用多个嵌套的 for 循环很容易。但是,在 Clojure 中并非如此。据我了解,“for”、“while”或“loop”;它们都是宏的。请评论如何用惯用的 Clojure 代码编写循环?
n = 1
while n < 10:
for i in range(10):
print("for loop 1")
for j in range(10):
print("for loop 2")
print("back to loop")
for j in range(10):
print("loop3")
print("back to loop again")
n += 1
for 循环不执行,如何编写惯用的 Clojure 代码?
(defn Example []
(def n (atom 1))
(while (< @n 10)
(do
(println @n)
;; for loop does not execute
(for [i (range 10)]
(println "for loop 1")
;; for loop does not execute
(for [j (range 10)] (println "for loop 2")))
(println "back to loop")
;; for loop does not execute
(for [j (range 10)] (println "for loop 3"))
(println "back to loop again")
(swap! n inc))))
(Example)
解决方案
推荐阅读
- python - Python PUT 调用失败,而 curl 调用没有
- php - 在每次迭代 laravel Livewire 上显示文本
- arduino - mqtt 客户端超过超时并断开连接
- merge - 如果多个分支处于活动状态,如何进行 Mercurial 合并?
- apache-flink - flink在yarn cluster中运行时如何识别hiveConfDir
- python - 将两个单独的列表附加到列表列表
- c++ - (++x > ++x) 在 C++ 中定义良好吗?
- javascript - 如何有效地使用 JS 在按钮上显示文本
- nlp - 为什么 FastText 不处理查找多词短语?
- laravel - 从 laravel 8 url 中删除 index.php