📅  最后修改于: 2023-12-03 15:21:31.978000             🧑  作者: Mango
在Haskell中,/=
是用于比较两个值是否相等的不等号运算符。
不等号运算符的语法格式如下:
/= :: Eq a => a -> a -> Bool
1 /= 2 -- True
2 /= 2 -- False
"a" /= "b" -- True
Haskell中的/=
运算符实际上是由Eq
类的函数实现的。这是因为不等性在本质上是相等性的补集,因此使用Eq
的函数使得编写更简单,更易于阅读和维护。
class Eq a where
(==), (/=) :: a -> a -> Bool
...
x /= y = not (x == y)
在Haskell中,您还可以定义自己的不等号运算符。以下是一个示例:
(/<$>) :: (Eq b) => (a -> b) -> b -> [a] -> [a]
f /<$> y xs = filter (\x -> f x /= y) xs
这里我们使用了自定义的运算符/<$>
,它与filter
一起工作,从列表中过滤出在函数的结果中不等于第二个参数的元素。