with 1 method)
此函数定义仅适用于x和y均为type值的调用Float64:
julia> f(2.0, 3.0)
7.0
将其应用于任何其他类型的参数将导致MethodError:
julia...julia> f(2, 3.0)
1.0
julia> f(2.0, 3)
1.0
julia> f(2, 3)
1
该2x + y定义仅在第一种情况下使用,而2x - y其他情况下使用该定义。...[克拉克61]
对于非数字值,以及少于或多于两个参数,该函数f保持未定义状态,应用该函数仍将导致MethodError:
julia> f("foo", 3)
ERROR: MethodError: no...)
julia> g(2.0, 3)
7.0
julia> g(2, 3.0)
8.0
julia> g(2.0, 3.0)
10.0
建议首先定义消除歧义的方法,因为否则会暂时存在歧义(如果是暂时的话...with 2 methods)
julia> same_type_numeric(1, 2)
true
julia> same_type_numeric(1, 2.0)
false
julia>