用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。