我是一名程序员,正在用 Scheme (R5RS) 编写一个类 C 语言的小型解释器,并尝试将以下代码进行转换:
for (i = 0; i < 100; i++)
{
if (isprime(i)) continue;
else /* do something with i */
}
我希望验证Scheme代码(isprime函数只是一个示例,不重要)。
然而,经过一段时间的尝试,我没有找到在Scheme中向do循环添加continue语句的有效/简单方法。更好的是,“for”宏允许使用“continue”和“break”。
我正在考虑转换到Common Lisp。在CL中是否更容易实现这种操作?