Julia:函数具有 Vector 类型的可选参数,但默认为 null?



我有一个函数f(x).我希望该函数具有矢量类型的可选参数。例如,f(x; y::Vector=[1,2,3]).但是,我希望默认值是其他值(空?缺失?空?(,以便我可以轻松捕获它并对其进行反应。

在 R 中,我会说function(x, y=NULL){}然后if(is.null(y)){whatever}.

做类似事情的最朱利安的方式是什么?

Engineero 在注释中引用的模式是最干净的,但它假定了一个位置参数。如果您坚持使用关键字参数(就像您在问题中所做的那样(使用:

function f(x; y::Union{Vector, Nothing}=nothing)
if y === nothing
# do something
else
# do something else
end
end

通常只有在您有很多关键字参数时才需要这样做,否则我建议使用不同的位置参数签名定义方法。

当然,如果您觉得更可取,可以将这种模式与nothing一起使用,也可以将其用于位置参数。

相关内容

  • 没有找到相关文章

最新更新