我正在編寫一個計劃程序,最終對操作員列表進行評估。計劃程序不評估嵌套列表嗎?
實施例:(評價「(1 2 +)) - > 3
我具有的功能爲基本運營商合作(+, - ,*,/),但問題進來時,我有一個嵌套名單。
實施例:(評價「(1(2 3 +)*)) - >(無)
我缺少的條件?
(define (evaluate lis)
(cond
((not (list? lis))
lis)
((list? lis)
(if (equal? (length lis) 3)
(cond
((equal? (cddr lis) '(+))
(+ (car lis) (car (cdr lis))))
((equal? (cddr lis) '(-))
(- (car lis) (car (cdr lis))))
((equal? (cddr lis) '(*))
(* (car lis) (car (cdr lis))))
((equal? (cddr lis) '(/))
(/ (car lis) (car (cdr lis)))))))))
哦,我現在看到了問題。我由於某種原因認爲我的發言徹底解決了。我完全忘了遞歸調用該函數。我對Scheme很陌生,所以看看列表如何在這裏工作很有趣。謝謝! – Disc0nnect