if
(or
에 대한 로컬 바인딩 지원)으로 환산하여 and
, or
및 not
으로 표현하기 쉽습니다. 그 반대가 사실인지 알고 싶습니다. 내 순진 첫 번째 시도는 : #f
및 conseq
이 #f
입니다 test
가 아닌 경우Scheme에서 부울 연산자의 조합으로 표현할 수 있습니까?
(if test conseq altern) => (or (and test conseq) altern)
그러나 번역이 잘못 인 altern
로 평가합니다.
if
의 단락 특성을 유지하면서 올바른 값으로 평가되는 번역이 있습니까?
어쩌면 (또는 (및 테스트 (또는 conseq #t)) altern)? – knivil
아,하지만'(if #t #f #t)'는'# t'으로 평가됩니다. 이러한 것들은 제가 해결하려고하는 종류의 트릭입니다. – acfoltzer