我正在使用Scheme(R5RS)为类C语言编写一个小型解释程序,并尝试转换以下内容:
for (i = 0; i < 100; i++)
{
if (isprime(i)) continue;
else /* do something with i */
}
Run Code Online (Sandbox Code Playgroud)
有效的方案(isprime函数只是一个示例,并不重要)。
但是,经过一段时间的尝试,我仍然无法找到一种有效/简单的方法来向Scheme中的do循环中添加与continue语句等效的方法。更好的是“ for”宏,该宏允许使用“ continue”和“ break”。
我正在考虑切换到Common Lisp。这样的事情在CL中会更容易吗?