Scheme XOR在球拍中,我不明白它是如何工作的

Scheme XOR在球拍中,我不明白它是如何工作的,scheme,racket,boolean-logic,xor,Scheme,Racket,Boolean Logic,Xor,它是如何工作的? 我不明白让我们看一下: 换句话说:如果x和y都相等,则xor为false。但如果x和y不同,则xor为真。这正是这个方案代码所说的: x xor y T F T ; x and y are both true, x xor y is false T T F ; x and y are different, x xor y is true F T T ; x and y are differe

它是如何工作的? 我不明白

让我们看一下:

换句话说:如果
x
y
都相等,则
xor
为false。但如果
x
y
不同,则
xor
为真。这正是这个方案代码所说的:

x xor y
T  F  T             ; x and y are both true,  x xor y is false
T  T  F             ; x and y are different,  x xor y is true
F  T  T             ; x and y are different,  x xor y is true
F  F  F             ; x and y are both false, x xor y is false

嗯……因为我以前从未见过Racket代码(看起来像LISP),并且给出了XOR=
x&&的传统定义!y | | |!x&&y
…然后它似乎会起作用(因为我假设
boolean=?
会检查两者是否都是真的-我可能在这一点上大错特错)。您可能希望阅读以改进您的问题。例如,在不知道自己尝试过什么的情况下回答问题是很困难的。
x xor y
T  F  T             ; x and y are both true,  x xor y is false
T  T  F             ; x and y are different,  x xor y is true
F  T  T             ; x and y are different,  x xor y is true
F  F  F             ; x and y are both false, x xor y is false
(if (boolean=? x y) ; are x and y equal?
  #f                ; then xor is false
  #t)               ; otherwise xor is true