2010-07-23 5 views
2
(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의 언어가 고급 학생으로 설정되었습니다. sub1을 정의한 후에 IronScheme 콘솔에서도 잘 작동합니다.DrRacket에서 작동하지만 콘솔에서 라켓으로 작동하지 않는 이유

오류 메시지는 : 나는 콘솔에이를 입력하면

reference to undefined identifier: R 

alt text alt text

+0

나는 이것들이 분리 된 실행이라고 가정한다. 나는 당신이 라켓의 최신 버전을 가지고 있는지 확인하고, 그것이 지속된다면, plt 메일 링리스트에 질문하거나 버그를 제출하십시오. PLT 사람들은 당신이 볼 수있는만큼 반응이 좋습니다. 충돌이 REPL 코드에서 발생하지만 어디에서 R이 왔는지 전혀 알 수 없습니다. – deinst

+0

도움 주셔서 감사합니다. 좀 더 연구를하고 PLT 사람들에게 내가 알아낼 수 없는지 물어볼 것입니다. – ecounysis

답변

2

내가 어떻게 콘솔이 실행중인

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이 필요할 수 있습니다.

+0

내가 뭘 잘못하고 있었는지 모르겠다. 지금은 효과가있는 것 같습니다. racket.exe를 실행하고 모든 것을 REPL에 입력하여 Windows에서 라켓을 실행하고있었습니다. 기묘한. 감사. – ecounysis

+1

내가 본 것을 어디에서 찾을 수 없지만, 라켓은 기본적으로 당신이 과거에 사용한 가장 최근의 #lang을 사용한다고 생각합니다. 그것은 이러한 이상한 행동을 설명 할 수 있습니다. –

관련 문제