===
是内置的相等性。在所有3种情况下,这或多或少都是位级相等,对内存的引用是指针。(但是想让不可变的结构版本递归)
理想情况下,不会使用太多,因为它不可自定义。有时尽管使用它是很好的,因为优化器可以很好地进行推理,因此可以提高热循环的性能。
==
是通用平等它是可重载的。对于花车它遵循IEEE规则,即-0.0 == 0.0
,NaN != NaN
。并遵循3个值逻辑规则来missing == missing
求和missing
。
如果==
未定义,则返回到===
isequal
就字典而言是平等。我不知道有什么更好的方法。isequal
对于Dict
和而言,被认为相同的事物Set
。因此,您不能有两个项目isequal
作为中的不同键Dict
。
如果您要确保NaN
s彼此相等,并且类似地确保missings彼此相等,请使用此选项。
定义isequal
时还必须定义hash
。
isequal(a, b)
暗示hash(a) == hash(b)
如果isequal
未定义,则回退到==
归档时间: |
|
查看次数: |
152 次 |
最近记录: |