我定义了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
做些什么?我没有线索。
这是根据要求提出的实际问题。
string-join返回通过连接两个字符串togeter形成的新字符串。 确保您的函数通过以下测试:
(check-expect(is-string-equals?'(string-equals“abc”“abc”)) #T)
(check-expect(interpret-string-equals'(string-equals“abc”“abc”)(make-env)) #T)
答案 0 :(得分:2)
我知道这是怎么回事 - 这是一个PL类,你扩展了一个现有的解释器,以便它可以处理字符串和字符串比较 - 但它看起来像它会帮助你很多可以为您的函数添加目的语句,并为所有函数测试案例。从顶部开始。什么是is-string?
应该做的?编写测试用例以确保它能够完成预期的工作。努力工作。
另外,对于给你测试用例的导师感到羞耻:)。