2017-05-09 60 views
1

我正在寫一個函數,目前已經有31個關鍵字參數。例如:關於這個替代有許多關鍵字參數?

function myfunc(a::Int, b::Real, c::String; 
    msize=12, 
    mcolor="black", 
    mtext="text", 
    mwidth="regular", 
    ... and many more 
) 

一個好處是,你可以打電話與要調整幾個值的功能,你不必定義和/或維護之類的東西字典事前。它們可以以任何順序提供。所以UX是好的。但...

這是處理許多默認參數的最佳方法嗎?如果我走得更高,我會遇到問題嗎?

回答

5

您可以使用這些參數作爲字段創建類或類型(在茱莉亞),並將該類作爲參數傳遞給myfunc。您可以將默認值設置爲這些字段,因此您無需一直設置它。這在可維護性和可讀性方面會更好。

+1

另請參見Parameters.jl。 –