Chapter 6. 循环 [chap-6]
6.1. LOOP 机制 [sec_6-1]
原文见:https://clisp.sourceforge.io/impnotes/loop.html
6.1.2. 结束时的循环变量
这个标准中已经明确指出循环的变量会一直存在于 FINALLY 分句, 但是没有指出这些变量会有什么值. 所以依赖于这些变量的代码, 比如说,
(loop for x on y finally (return x))
固然不可移植于多个 Common Lisp 实现, 应该避免.
6.1.3. 向后兼容
[CLtL2] 和 [ANSI CL standard] 之间, 在 LOOP 的语法上有一些靠近, 比如说, 以下结构在以前是合法的但是在以后是不合法的:
(loop initially for i from 1 to 5 do (print i) finally return i)
当 CUSTOM:*LOOP-ANSI* 是NIL, 这样的结构是一直被 CLISP 所接受的但是在宏展开时会引出一个警告. 当 CUSTOM:*LOOP-ANSI* 不是 NIL, 会发出一个 ERROR .
6.2. Miscellaneous
原文见:https://clisp.sourceforge.io/impnotes/iter-misc.html
本文探讨了Common Lisp中LOOP宏的使用细节,包括混合终止测试条件的问题、循环变量在FINALLY子句中的行为以及向后兼容性的注意事项。同时,还介绍了DOLIST和DOTIMES宏如何简化循环变量的管理和赋值。
218

被折叠的 条评论
为什么被折叠?



