Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试学习计划。我的问题是如何在不使用“或”的情况下在方案中使用 2 个元素来实现“或”。我试过了,(id (!A) B A但我得到A了两次,有人有不同的想法吗?
(id (!A) B A
A
标识符or是句法关键字(又名“语法”),因此具有特殊的评估规则。(就像'C' - 语法是特殊的。)要实现or你需要定义它的语法:
or
(define-syntax or (syntax-rules () ((or a b) (let ((a-evaled a)) ;; only eval 'a' once (if a-evaled a-evaled b)))))
[请注意,“语法”通常不是初学者的主题。但是,您需要or.]的语法