[英]Julia: function with optional argument of type Vector but default to null?
我有一個函數f(x)
。 我希望該函數具有類型為vector的可選參數。 例如, 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
可以用於位置參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.