越来越觉得 Scheme 挺有意思。现在,我也能写出令人畏惧的代码了。😂
用宏和 call/cc 实现 while 循环。
是的,Scheme 本身不支持循环,只有递归。但是,有了宏让你自定义语法,有 call/cc 让你任意跳转,手搓一个循环就不成问题了。
这个 while 循环,调用时得带着 `(break continue)` 很是碍眼。这是 syntax-rules 卫生宏的限制(为了你好😂)。
可以改用 syntax-case 来实现这个宏,并去掉碍眼的地方,但我现在还不会 syntax-case。



