我正在将学习计划作为大学课程的一部分。
我尝试将这段代码保存到文件fact-iter-001.scm:
(def (fact n)
(def (fact-iter result counter)
(if (> counter n)
result
(fact-iter (* result counter) (+ counter 1))))
(fact-iter 1 1))
当我尝试将其加载到方案中时,我为事实事实生成了一个未绑定的变量错误:
从我对代码的理解来看,“ fact-iter”是在“事实”过程内部本地定义的,因此,在定义后立即调用它就应该可用。在写这个问题之前,我还检查了《计算机程序的结构和解释》这本书,那里有一个几乎相同的例子。
我假设我对代码的理解是完全错误的,或者我以错误的方式加载了文件,但是我不知道是哪个以及为什么。有人可以帮忙吗?