3

私はscheme48でdefine-record-typeの例を​​試しましたが、機能していないようです。どうしたの?

(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 に答える