方案:似乎无法加载文件

bcl*_*man 2 scheme

尝试从终端加载方案文件.我创建了一个名为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 ...

Syl*_*ter 6

您已评估该符号load.你回来#[compiled-procedure 13 ("load" #x2) #x1a #x1045a82c2]说这load是一个程序.

如果你评估任何其他标准程序,你会得到类似的东西,例如+,如果你想+使用括号和参数,你会得到类似的东西(+ 2 3) ; ==> 5.

如果要使用该过程load,则需要使用括号:

(load "test.scm")
Run Code Online (Sandbox Code Playgroud)