我正在尝试使用SICP,我得到了一些代码.所以我开始:
#lang scheme
(word 'comp 'uter)
Run Code Online (Sandbox Code Playgroud)
返回错误:函数(字)未定义.
即使我试图将其复制到IDE(运行):
(define word?
(let ((number? number?)
(symbol? symbol?)
(string? string?))
(lambda (x)
(or (symbol? x) (number? x) (string? x)))))
Run Code Online (Sandbox Code Playgroud)
还是一样.
我认为这可能是语言版本的某些问题或者其他问题.
以上是"简单方案",当我在SICP中引入代码时:
(define (sqrt x)
(sqrt-iter 1.0 x))
Run Code Online (Sandbox Code Playgroud)
IDE返回sqrt-iterundefined.代码可以在第一章找到:http://mitpress.mit.edu/sicp/code/index.html
我通常使用Sublime文本编辑器和gnome终端来编辑和运行我的程序.出于教育目的,我正在使用IDE Dr. Racket.
我无法在键入时找到自动完成功能.我在谷歌和Dr. Racket的菜单上查看了这个.
例如,如果我调用已定义的函数,我想加快键入函数名称的过程.我尝试过使用control+ /,但它不能用作已经定义的变量和过程的自动完成功能.
编辑
抱歉,我刚刚开始使用球拍。我对此很陌生。我写了这段代码:
(define (save_sheets lst num)
(if(= num (- (length lst) 1))
('())
(
(my_save_image (join_sheet (list-ref lst num)) num)
(save_sheets lst (+ num 1)))))
Run Code Online (Sandbox Code Playgroud)
当然,当我运行这个时,我收到以下错误:
application: not a procedure;
expected a procedure that can be applied to arguments
given: (object:image% ...)
arguments...: [none]
Run Code Online (Sandbox Code Playgroud)
(join_sheet (list-ref lst num))应该返回一个图像,错误显示该图像,但是my_save_image应该将其接收,对吗?它的参数是图像和数字。谢谢!