我已经定义了is-string?
(define (is-string? expr)
(string? expr))还有interpret-string
(define (interpret-string expr env)
expr)以下是我所写的功能:
(define (string-equals? expr)
(and
(list? expr)
(= 3 (length expr))
(equal? '= (first expr))))
(define (interpret-string expr env)
(=
(internet (second expr) env)
(interpret (third expr) env)))这是字符串的解释器:
((is-string? expr) (interpret-string expr env))当我输入这一行以检查它是否有效时:
(check-expect (is-string-equals? ’(string-equals "abc" "abc"))
#t)我说错了:
check-expect encountered the following error instead of the expected value, #t.
:: reference to undefined identifier: is-string-equals?我要为is-string-equals做些什么呢?毫无线索。
以下是按要求提出的实际问题。
(检查-期望值(是-字符串-相等?)(字符串-等于"abc“”abc“) #t)
(检查-预期(解释-字符串-相等‘(字符串-等于"abc“"abc") (make-env)) #t)
发布于 2012-01-10 05:44:38
我知道了--这是针对PL类的,您正在扩展现有的解释器,以便它能够处理字符串和字符串比较--但在我看来,它将大大帮助您在函数中添加目的语句,并为所有函数添加测试用例。从顶端开始。is-string?应该做什么?编写测试用例,以确保它能够完成它应该做的事情。用你的方式下去。
此外,你的导师给你测试用例感到羞愧:)。
https://stackoverflow.com/questions/8796874
复制相似问题