尝试从终端加载方案文件.我创建了一个名为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))
)
)
Run Code Online (Sandbox Code Playgroud)
我跑:
1)方案(一切都在OS X上启动)2)加载'test.scm'
我回来了:
;Value 13: #[compiled-procedure 13 ("load" #x2) #x1a #x1045a82c2]
1 ]=>
;Value: test.scm
Run Code Online (Sandbox Code Playgroud)
3) (sum-of-squares 3 4)
我期待25,但我得到:
;未绑定变量:平方和
知道这里发生了什么吗?当我尝试:
(square 5)
Run Code Online (Sandbox Code Playgroud)
我按预期回来了25 ...
您已评估该符号load.你回来#[compiled-procedure 13 ("load" #x2) #x1a #x1045a82c2]说这load是一个程序.
如果你评估任何其他标准程序,你会得到类似的东西,例如+,如果你想+使用括号和参数,你会得到类似的东西(+ 2 3) ; ==> 5.
如果要使用该过程load,则需要使用括号:
(load "test.scm")
Run Code Online (Sandbox Code Playgroud)