我想知道我如何在方案中定义我的 for 循环出了什么问题。每当我尝试使用它运行 for 语句时,它都会运行一段时间然后崩溃。
(define-syntax for
(syntax-rules (:)
[(_ (initial : test : update) body)
(begin initial
(if test
(begin body update
(for [test : update] body))))]
[(_ (test : update) body)
(if test
(begin body update
(for [test : update] body)))]))
它应该运行初始条件,检查测试,运行主体,然后循环到下一次运行。