【发布时间】:2011-01-03 14:06:04
【问题描述】:
我正在为 Scheme (R5RS) 中的类 C 语言编写一个小型解释器,并尝试转换如下内容:
for (i = 0; i < 100; i++)
{
if (isprime(i)) continue;
else /* do something with i */
}
到有效的Scheme(isprime 函数只是一个例子,并不重要)。
但是,经过一段时间的尝试,我无法找到一种有效/简单的方法来将等价的 continue 语句添加到 Scheme 中的 do 循环中。更好的是允许使用“继续”和“中断”的“for”宏。
我正在考虑改用 Common Lisp。这种事情在 CL 中会更容易吗?
【问题讨论】:
标签: loops functional-programming scheme common-lisp