异或=(/=)是什么意思?

Lok*_*man 3 haskell xor ghci

我找到了用Haskell写的逻辑门异或的代码,但我不知道这个“ (/=)”是什么意思!

xor :: Bool -> Bool -> Bool
xor = (/=)
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 8

(/=) :: Eq a => a -> a -> Bool是类型类中定义的函数Eq。它测试两个项目是否不同并True在这种情况下返回。对于Bools,它会检查第一个布尔值是否与另一个布尔值不同,这就是异或门的作用:

x y x /= y x `xor` y
False False False False
False True True True
True False True True
True True False False


Jon*_*øgh 7

/= 是不等于运算符。它相当于布尔值的异或,因为异或仅当布尔值具有不同值时才为真。