Practical Common Lisp 的第 22 章loop
解释了(除其他外)在使用宏迭代哈希表时如何同时使用键和值:
(loop for k being the hash-keys in h using (hash-value v) ...)
解释以以下脚注结束:
不要问我为什么
LOOP
's 的作者对子条款的无括号样式感到畏缩using
。
这对这本书来说非常好,我不怪 Peter Seibel 不知道。尽管如此,我还是对这个设计决策的原因有些好奇。为什么语法不像
(loop for k being the hash-keys in h using hash-value v ...)
更容易解析吗?还是背后有更深层次的原因?