如何在Scheme中打印我的过程调用?

时间:2013-06-25 05:26:24

标签: scheme racket

我正在尝试将C程序转换为Scheme以进行我正在进行的任务。程序应该在给定形式参数(在这种情况下为直径)的情况下计算圆的面积。我想我已经想通了,但我不知道如何打印实际值来验证它。我试过把号码输入打印电话。它现在的方式是我的书使用的方法。当我和Dr. Racket一起运行程序时,我得到了:

print:undefined; 不能引用未定义的标识符

(define pi 3.14159265)
(define test 5)
(define (areac d)
  (lambda (d)
    (* pi (/ d 2) (/ d 2)
       )))

(print (areac test))

编辑:语言设置为R5RS

2 个答案:

答案 0 :(得分:3)

如果使用“define”,则不必使用“lambda”,因为“define”只是将名称赋予lambda-procedure的便捷方式。您的代码必须如下所示:

(define pi 3.14159265)
(define test 5)
(define (areac d)
   (* pi (/ d 2) (/ d 2)
        ))

(display (areac test))

答案 1 :(得分:0)

在方案中打印数据的命令是“显示”。所以,写一下

(display (areac test))