假设一个带有关键字的函数fun()像这样重载:
function fun(; a::Real)
return a
end
function fun(; a::Vector)
return a
end
Run Code Online (Sandbox Code Playgroud)
执行以下代码时,出现类型错误TypeError: in keyword argument a, expected Vector, got a value of type Int64::
fun(1) # TypeError
fun([1, 2])
Run Code Online (Sandbox Code Playgroud)
但是当函数fun()获得正常参数时,即:
function fun(a::Real)
return a
end
function fun(a::Vector)
return a
end
Run Code Online (Sandbox Code Playgroud)
然后在此处执行此代码片段:
fun(1) # -> 1
fun([1, 2]) # -> [1, 2]
Run Code Online (Sandbox Code Playgroud)
作品。