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