Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是什么导致Scheme中的未绑定变量错误?_Scheme_Sicp - Fatal编程技术网

是什么导致Scheme中的未绑定变量错误?

是什么导致Scheme中的未绑定变量错误?,scheme,sicp,Scheme,Sicp,我是从SICP开始的,我对这个计划还不熟悉。我试过调试这段代码,甚至将其与类似的解决方案进行了比较 (def (myFunc x y z) (cond ((and (<= x y) (<= x z)) (+ (* y y) (* z z))) ((and (<= y x) (<= y z)) (+ (* x x) (* z z))) (else (+ (* x x) (* y y))))) (定义(myFunc x y z

我是从SICP开始的,我对这个计划还不熟悉。我试过调试这段代码,甚至将其与类似的解决方案进行了比较

(def (myFunc x y z)
    (cond ((and (<= x y) (<= x z)) (+ (* y y) (* z z)))
          ((and (<= y x) (<= y z)) (+ (* x x) (* z z)))
          (else (+ (* x x) (* y y)))))
(定义(myFunc x y z)

(cond)((and)(方案中的函数定义原语称为
define
,而不是
def

实际上,整个
(def…
表达式被视为对
def
的函数调用。因此需要找到它的参数值。第一个参数
(myFunc x y z)
是一个函数调用,因此需要找到它的参数值。显然,您的实现希望首先找到
y
的值

“对运算符和操作数表达式求值(按未指定的顺序),并将结果参数传递给结果过程。”


很可能您的实现首先选择了最右边的参数,这导致了
(非常感谢。它解决了我的问题。我不应该错过这个。但是为什么我的代码会给出“Unbound variable:y”?