J'ai un type d'enregistrement point
défini comme suit:non-concordance Arity lors de la construction d'un type d'enregistrement des enfants
(define-record-type point
(make-point x y)
point?
(x point-x)
(y point-y)
)
Maintenant, je veux étendre le type d'enregistrement point
et définir un nouveau type d'enregistrement comme suit:
(define-record-type cpoint
(make-cpoint color)
cpoint?
(color cpoint-color)
(parent point)
)
Lorsque je lance les définitions ci-dessus dans le shell du schéma, tout fonctionne correctement. Je peux construire point
types correctement. Cependant, lorsque je tente de construire le type cpoint
comme suit:
(define p2 (make-cpoint 8 9 'red))
Je reçois l'erreur suivante:
; ...rfi/9/record.rkt:100:28: arity mismatch;; the expected number of arguments does not match the given number; expected: 1; given: 3; [,bt for context]
Je pensais que depuis cpoint
est enfant de point
, il aurait dû accepter les arguments à la point
tapez dans son constructeur.
Comment est-ce que je peux faire ce travail?
P.S Je suis nouveau à Scheme.