尝试从终端加载方案文件。我创建了一个名为test.scm的代码,其中包含以下代码:
(define (square x) (* x x))
(define (sum-of-squares x y)
(+ (square x) (square y))
)
(define (big-square x y z)
(cond ( (and (< x y) (< x z)) (sum-of-squares y z) )
( (and (< y x) (< y z)) (sum-of-squares x z) )
(else (sum-of-squares x y))
)
)
我跑:
1)方案(一切都在OS X上正常启动) 2)加载&#39; test.scm&#39;
我回来了:
;Value 13: #[compiled-procedure 13 ("load" #x2) #x1a #x1045a82c2]
1 ]=>
;Value: test.scm
3)(sum-of-squares 3 4)
我期待25岁,但我得到了:
;未绑定变量:平方和
知道这里发生了什么吗?当我尝试:
(square 5)
我按预期回来了25 ......
答案 0 :(得分:5)
您已对符号load
进行了评估。您回来#[compiled-procedure 13 ("load" #x2) #x1a #x1045a82c2]
,其中load
是一个程序。
如果您评估任何其他标准程序(例如+
),您将获得类似的内容,但是如果您想使用+
,则使用括号和(+ 2 3) ; ==> 5
之类的参数
如果您想使用load
程序,则需要使用括号:
(load "test.scm")