用法:
Base.isambiguous(m1, m2; ambiguous_bottom=false) -> Bool
確定兩個方法m1
和m2
對於某些調用簽名是否可能不明確。該測試是在相同函數的其他方法的上下文中執行的;單獨來看,m1
和 m2
可能有歧義,但如果已定義解決歧義的第三種方法,則返回 false
。或者,可以單獨對m1
和m2
進行排序,但如果無法使用它們對第三種方法進行排序,則它們可能會一起導致歧義。
對於參數類型,ambiguous_bottom
關鍵字參數控製 Union{}
是否算作類型參數的模棱兩可的交集 - 當 true
時,它被認為是模棱兩可的,當 false
不是。
例子
julia> foo(x::Complex{<:Integer}) = 1
foo (generic function with 1 method)
julia> foo(x::Complex{<:Rational}) = 2
foo (generic function with 2 methods)
julia> m1, m2 = collect(methods(foo));
julia> typeintersect(m1.sig, m2.sig)
Tuple{typeof(foo), Complex{Union{}}}
julia> Base.isambiguous(m1, m2, ambiguous_bottom=true)
true
julia> Base.isambiguous(m1, m2, ambiguous_bottom=false)
false
相關用法
- Julia isapprox用法及代碼示例
- Julia isascii用法及代碼示例
- Julia isassigned方法用法及代碼示例
- Julia isassigned()用法及代碼示例
- Julia isassigned用法及代碼示例
- Julia isabstracttype用法及代碼示例
- Julia issetequal()用法及代碼示例
- Julia istaskfailed用法及代碼示例
- Julia iswritable用法及代碼示例
- Julia isless方法用法及代碼示例
- Julia isvalid()用法及代碼示例
- Julia isopen用法及代碼示例
- Julia ispow2用法及代碼示例
- Julia isreadable用法及代碼示例
- Julia issetequal用法及代碼示例
- Julia issorted用法及代碼示例
- Julia isvalid方法用法及代碼示例
- Julia iseven()用法及代碼示例
- Julia isless用法及代碼示例
- Julia isidentifier用法及代碼示例
- Julia isbinaryoperator用法及代碼示例
- Julia isperm用法及代碼示例
- Julia issubset用法及代碼示例
- Julia isone用法及代碼示例
- Julia isunaryoperator用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.isambiguous — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。