2014-09-20 45 views
-1

中的字符串未定義的標識符我試圖定義下面的函數,但由於某種原因它不起作用,我得到的錯誤。在附註中,我正在使用Dr.Retet來完成這個項目。在方案

「low:undefined; 不能引用未定義的標識符」

這是我所定義的

> (define (frequency amtFrequency) 
    (cond 
     ((<= amtFrequency 30)「Very Low Frequency」) 
     ((<= amtFrequency 300)「Low Frequncy」) 
     ((<= amtFrequency 3000)「Medium Frequency」) 
     ((<= amtFrequency 30000)「High Frequency」) 
     ((<= amtFrequency 328600)「Very High Frequency」) 
     (t# 「Ultrahigh Frequency」) 
    ) 
) 
> (frequency 35) 

. . 「low: undefined; 
cannot reference undefined identifier 
> 
+4

ÿ你正在使用「聰明的報價」。不要使用文字處理器編輯代碼,請使用編程編輯器。 – Barmar 2014-09-20 19:57:10

+2

在Scheme中,'true'的字面值是'#t',而不是't#' – 2014-09-20 20:53:06

回答

0

這是一個文本格式的問題,你可能從一些排版很差源複製的代碼,或者代碼寫在一個函數。比DrRacket的其他文本編輯器只是"..."取代「...」此外,建議使用else,而不是#t的最後一個條件這應該工作:

(define (frequency amtFrequency) 
    (cond 
    ((<= amtFrequency 30)  "Very Low Frequency") 
    ((<= amtFrequency 300)   "Low Frequency") 
    ((<= amtFrequency 3000)  "Medium Frequency") 
    ((<= amtFrequency 30000)  "High Frequency") 
    ((<= amtFrequency 328600) "Very High Frequency") 
    (else      "Ultrahigh Frequency"))) 
+0

是的,謝謝你,這是固定的問題,我有 – 2014-09-24 17:11:19