我找到了用Haskell写的逻辑门异或的代码,但我不知道这个“ (/=)”是什么意思!
xor :: Bool -> Bool -> Bool
xor = (/=)
Run Code Online (Sandbox Code Playgroud)
(/=) :: 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 |