當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia isequal用法及代碼示例


用法一

isequal(x, y)

類似於 == ,除了處理浮點數和缺失值。 isequal 將所有浮點 NaN 值視為彼此相等,將 -0.0 視為不等於 0.0 ,並將 missing 視為等於 missing 。始終返回 Bool 值。

isequal 是等價關係 - 它是自反的(=== 暗示 isequal)、對稱(isequal(a, b) 暗示 isequal(b, a))和傳遞(isequal(a, b)isequal(b, c) 暗示 isequal(a, c))。

執行

isequal 的默認實現調用 == ,所以不涉及浮點值的類型一般隻需要定義 ==

isequal 是哈希表(Dict)使用的比較函數。 isequal(x,y) 必須暗示 hash(x) == hash(y)

這通常意味著存在自定義==isequal 方法的類型必須實現相應的 hash 方法(反之亦然)。集合通常通過在所有內容上遞歸調用 isequal 來實現 isequal

此外,isequal isless 鏈接在一起,它們共同定義一個固定的總排序,其中 isequal(x, y)isless(x, y)isless(y, x) 中的一個必須是 true (另外兩個 false)。

標量類型通常不需要實現與 == 分開的 isequal ,除非它們表示的浮點數可以比作為通用後備提供的更有效的實現(基於 isnansignbit==)。

例子

julia> isequal([1., NaN], [1., NaN])
true

julia> [1., NaN] == [1., NaN]
false

julia> 0.0 == -0.0
true

julia> isequal(0.0, -0.0)
false

julia> missing == missing
missing

julia> isequal(missing, missing)
true

用法二

isequal(x)

創建一個使用 isequal 將其參數與 x 進行比較的函數,即等效於 y -> isequal(y, x) 的函數。

返回的函數是 Base.Fix2{typeof(isequal)} 類型,可用於實現專門的方法。

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.isequal — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。