3

我在 scheme48 中尝试了一个定义记录类型的示例,但它似乎不起作用。怎么了?

(define-record-type circle
 (make-circle r)
 circle?
 (r get-radius))

Error: undefined variable
   circle
   (package user)

我尝试了其他示例,得到了类似的结果。我什至直接从 scheme48 用户手册中尝试了一个示例。

提前致谢。

4

1 回答 1

2

手册中说明 arecord定义如下:

(define-record-type tag type-name
  (constructor-name field-tag ...)
  predicate-name
  (field-tag accessor-name [modifier-name])
  ...)

因此,在您的示例中,似乎type-name缺少 。尝试这个:

(define-record-type circle :circle
  (make-circle r)
  circle?
  (r get-radius))

并且不要忘记先导入库:

,open define-record-types
于 2013-02-17T16:38:13.110 回答