2013-10-17 81 views

回答

0

標識符or是一個語法關鍵字(aka'語法'),因此具有特殊的評估規則。 (以「C」,就像 - 語法是特別的。)執行or您需要定義它的語法:

(define-syntax or 
    (syntax-rules() 
    ((or a b) 
    (let ((a-evaled a)) ;; only eval 'a' once 
     (if a-evaled a-evaled b))))) 

[注意「語法」通常不是一個初學者的話題。但是,您需要語法爲or。]