2017-10-05 5 views
0

Le problème que j'ai est que j'ai reçu ce code pour tester et utiliser pour analyser. Sauf quand je l'exécute, la définition d'impression se plaint. Il ne cesse de dire "print: undefined"schéma - l'impression est indéfinie dans ce code

Quelqu'un peut-il me fournir une définition d'impression qui conviendra à ce problème?

(define (integral integrand initial-value dt) 
    (define int 
    (cons-stream initial-value 
       (add-streams (scale-stream integrand dt) 
           int))) 
    int) 

(define (RC R C dt) 
    (define (vs is v0) 
    (cons-stream v0 
       (add-streams (scale-stream is R) 
           (integral (scale-stream is (/ 1 C)) v0 dt)))) 
    vs) 

(define RC1 (RC 5 1 0.5)) 
(define s (RC1 ones 10)) 
(do ((i 0 (+ i 1))) 
    ((= i 30)) 
    (print (stream-ref s i))) 

La langue DrRacket qui doit être utilisé pour cela est r5rs, qui je crois est la raison pour laquelle la définition d'impression est undefined

+0

Sachez également qu'il existe un [langage de compatibilité SICP dans DrRacket] (https://stackoverflow.com/questions/19546115/which-lang-packet-is-proper-for-sicp-in-dr-racket/19561746 # 19561746), mais il n'a pas de liaison pour 'print'. – Sylwester

Répondre

2

La procédure print ne définit pas r5rs, remplacez-le par display, qui est la norme. Si vous devez insérer un saut de ligne, utilisez (newline).