2017-05-09 49 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。 –