1
所以我寫了這段代碼。我如何獲得if語句中的x來評估?此刻,x總是成功,if語句永遠不會失敗。我有一個變量,包含一個表達式。例如:(> 1 2),我如何評估它?
(define expand
(lambda (exp)
(cond
((symbol? exp) exp)
((pair? exp)
(case (car exp)
((and)
(if (null? (cdr exp)) '(quote #t)
(if (null? (cddr exp)) (cadr exp)
(let ((x (cadr exp))
(thunk (lambda() (expand '(and ,(cddr exp))))))
(if x (thunk)
`(quote ,x))))))
(else exp)))
(else exp))))
謝謝,我已經試過了。但它給了我這個錯誤:#[編譯過程1(「全球」#x5)#x3#x412F2C]已被調用1參數'它只需要2個參數。 – Chris 2010-10-20 00:42:59