在Python中,我可以添加(联合)和减(差)设置与+
和-
.我如何在Haskell中设置它?会(-) = Data.Set.difference
工作吗?我试过了,但后来我觉得有数字的常规减法搞砸了.
Haskell对数值运算符的重载比Python更多限制,为了定义它们,必须遵循规则和法则.例如,您还需要定义*
并abs
使用它.相反,使用已经定义的运算符Data.Set
,即\\
设置差异,并且没有一个已经为union定义,但是你可以轻松地创建自己的别名,或者你可以使用它作为
set1 `union` set2
我建议坚持使用已经定义的函数和运算符,它会让你的代码对其他任何需要查看的代码更具可读性.随意引入新的运算符,这些运算符不仅仅是对现有函数进行别名,尽管良好的做法是谨慎地这样做.