loops - 哪个更惯用:dotimes vs loop repeat?
问题描述
这些代码示例中哪一个更符合 Common Lisp 的习惯?
(dotimes (_ 10) (write-line "Hello"))
或者
(loop repeat 10 do (write-line "Hello"))
或者,在 Common Lisp 中没有首选的迭代循环方式,我们应该只使用我们喜欢的方式?
解决方案
没关系。使用任何一个。
您还可以添加自己的控制运算符:
(defmacro repeat (n &body body)
`(loop repeat ,n do (progn ,@body)))
然后使用它:
CL-USER 52 > (repeat 10
(write-line "hello")
(write-line "world"))
hello
world
hello
world
...
world
hello
world
NIL
推荐阅读
- algorithm - 在线 DFS(人工智能)中的问题
- javascript - 如何在laravel中的分页期间保持复选框处于选中状态
- xamarin - 如何更改 Xamarin Shell 选项卡栏上图标的位置
- java - 如何在 Spring 数据中获取大小的嵌套对象
- javascript - 如何将点击事件添加到按钮数组及其位置?
- scheme - 球拍语言输出问题
- android - 从 Fragment 打开 Activity 后如何保持底部导航视图?
- python - 如何交换在我的 while 循环开始时运行的函数?
- es6-modules - 如何开发和测试 Svelte 组件
- kubernetes - Kubernetes 远程访问仪表板