📜  不等号 haskel (1)

📅  最后修改于: 2023-12-03 15:21:31.978000             🧑  作者: Mango

Haskell中的不等号

在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一起工作,从列表中过滤出在函数的结果中不等于第二个参数的元素。