0
我已經定義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
辦?我沒有任何線索。
這裏是根據要求詢問的實際問題。
- 用「字符串」數據類型擴展解釋器。你將需要編寫函數:
- is-string?
- 解釋字符串 並修改解釋函數以支持字符串數據類型。 另外添加兩個函數來使用解釋型語言中的字符串:
- string-equals?檢查兩個給定的字符串是否相同。
string-join返回通過連接兩個字符串togeter形成的新字符串。 確保您的功能通過以下試驗:
(?入住期待(是字符串,等於「(字符串等於‘ABC’,‘ABC’)) #T)
(登記期待(解釋字符串,等於「(字符串等於 「ABC」, 「ABC」)(請-ENV)) #T)
雖然從上面的定義看起來很奇怪,但是你沒有一個名爲'is-string-equals?'的函數,但是你有一個叫'string-equals?'的函數。 'interpret-string'過程是什麼?目前尚不清楚*根據'check-expect'測試你想要測試的內容 – 2012-01-10 00:11:57
字符串不是字符列表。 – leppie 2012-01-10 06:39:41