2010-07-23 116 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 2010-07-23 23:06:55

+0

感謝您的幫助。我會做更多的研究,然後詢問PLT人員是否無法解決問題。 – ecounysis 2010-07-23 23:30:10

回答

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上運行Racket。奇怪的。謝謝。 – ecounysis 2010-07-23 19:40:24

+1

我無法找到我看到過的地方,但我認爲球拍默認使用過去使用的最新#lang。這可能解釋了這種不穩定的行爲。 – 2011-07-15 11:19:54

相關問題