Scheme 如何打印过程调用方案?

Scheme 如何打印过程调用方案?,scheme,racket,Scheme,Racket,我正在尝试将一个C程序转换为我正在做的作业的Scheme。在给定形式参数(本例中为直径)的情况下,程序应计算圆的面积。我想我已经弄明白了,但我不知道如何打印实际值来验证它。我试着把电话号码输入打印电话。现在的方式是我的书使用的方法。当我与Racket博士一起运行程序时,我得到: 打印:未定义; 无法引用未定义的标识符 (define pi 3.14159265) (define test 5) (define (areac d) (lambda (d) (* pi (/ d 2) (

我正在尝试将一个C程序转换为我正在做的作业的Scheme。在给定形式参数(本例中为直径)的情况下,程序应计算圆的面积。我想我已经弄明白了,但我不知道如何打印实际值来验证它。我试着把电话号码输入打印电话。现在的方式是我的书使用的方法。当我与Racket博士一起运行程序时,我得到:

打印:未定义; 无法引用未定义的标识符

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

(print (areac test))

编辑:语言设置为R5RS

用于在scgeme中打印数据的命令为“显示”。所以,就写吧


(显示(区域测试))

在scgeme中打印数据的命令是“显示”。所以,就写吧

(display(areac test))

如果使用“define”,则不必使用“lambda”,因为“define”只是为lambda过程命名的方便方式。您的代码必须如下所示:

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

(display (areac test))
如果使用“define”,则不必使用“lambda”,因为“define”只是为lambda过程命名的方便方式。您的代码必须如下所示:

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

(display (areac test))
我试过这个,我得到:#我试过这个,我得到:#