Scheme中字符串的未定义标识符



我试图定义下面的函数,但由于某种原因,它不起作用,我得到了错误。顺便说一句,我在这个项目中使用拉基特博士。

"低:未定义;无法引用未定义的标识符"

这是我定义的函数

> (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
> 

这是一个文本格式问题,您可能从某个糟糕的排版源中复制了代码,或者代码是在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")))

最新更新