Engineero在评论中引用的模式是最干净的,但它假设了一个位置参数.如果您坚持在函数中使用关键字参数(就像您在问题中所做的那样):
function f(x; y::Union{Vector, Nothing}=nothing)
if y === nothing
# do something
else
# do something else
end
end
Run Code Online (Sandbox Code Playgroud)
这通常只有在你有很多关键字参数时才需要,否则我建议使用不同的位置参数签名来定义方法.
当然,nothing
如果你发现它更可取的话,也可以将这个模式用于位置参数.
归档时间: |
|
查看次数: |
303 次 |
最近记录: |