Почему это работает в DrRacket, а не в Racket с консоли - PullRequest
2 голосов
/ 23 июля 2010
(define pick
    (lambda (num lat)
      (cond ((null? lat) (quote()))
            ((= (sub1 num) 0) (car lat))
            (else 
                  (pick (sub1 num) (cdr lat))))))
(define brees (quote (a b c d e touchdown g h i)))
(pick 6 brees)

Язык в DrRacket установлен на Advanced Student. Он также отлично работает в консоли IronScheme после определения sub1.

Сообщение об ошибке:

reference to undefined identifier: R

alt text alt text

1 Ответ

2 голосов
/ 23 июля 2010

Когда я набираю это в консоли, я получаю

Welcome to Racket v5.0.
> (define pick
    (lambda (num lat)
     (cond ((null? lat) (quote()))
        ((= (sub1 num) 0) (car lat))
        (else
              (pick (sub1 num) (cdr lat))))))
> (define brees (quote (a b c d e touchdown g h i)))
> (pick 6 brees)
'touchdown

Как у вас это работает в консоли?Если вы загружаете его, вам может потребоваться #lang Racket для первой строки.

...