我找到了用Haskell写的逻辑门异或的代码,但我不知道这个“(/=)“是什么意思!
(/=)
xor :: Bool -> Bool -> Bool xor = (/=)
tcomlyy61#
**(/=) :: Eq a => a -> a -> Bool**是一个定义在Eq类型类中的函数。它测试两个项是否不同,如果是,则返回True。对于Bool s,它检查第一个bool是否与另一个bool不同,这就是异或门的作用:
(/=) :: Eq a => a -> a -> Bool
Eq
True
Bool
| x| y| x /= y| xxory|| - -|- -|- -|- -|| False| False| False| False个|| False| True| True| x1米15英寸|| True个|False| True| x1米19英寸1x|| x1米20英寸|True| False| False|
x
y
x /= y
False
0lvr5msh2#
/=是不相等运算符。它等价于布尔值的xor,因为xor仅在布尔值不同时为真。
2条答案
按热度按时间tcomlyy61#
**
(/=) :: Eq a => a -> a -> Bool
**是一个定义在Eq
类型类中的函数。它测试两个项是否不同,如果是,则返回True
。对于Bool
s,它检查第一个bool是否与另一个bool不同,这就是异或门的作用:|
x
|y
|x /= y
|x
xory
|| - -|- -|- -|- -|
|
False
|False
|False
|False
个||
False
|True
|True
| x1米15英寸||
True
个|False
|True
| x1米19英寸1x|| x1米20英寸|
True
|False
|False
|0lvr5msh2#
/=是不相等运算符。它等价于布尔值的xor,因为xor仅在布尔值不同时为真。