有多个关键字参数的替代方案?

时间:2017-05-09 08:59:18

标签: julia

我正在编写一个目前已有31个关键字参数的函数。例如:

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

关于这一点的一个好处是你可以用你想调整的几个值来调用函数,而且你不必事先定义和/或维护像字典这样的东西。它们可以按任何顺序提供。用户体验很好。但...

这是处理许多默认参数的最佳方法吗?如果我走得更高,我会遇到问题吗?

1 个答案:

答案 0 :(得分:5)

您可以使用这些参数作为字段创建一个类或类型(在julia中),并将该类作为参数传递给myfunc。您可以为这些字段设置默认值,这样您就不需要一直设置它。这在可维护性和可读性方面会更好。