2017-05-09 16 views
1

私はすでに31のキーワードパラメータを持っている関数を書いています。例:多くのキーワードパラメータを使用する代わりに、

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

これについての一つの良いところは、あなたがちょうどあなたが調整したいいくつかの値を使用して関数を呼び出すことができ、あなたが定義および/または事前に辞書のようなものを維持する必要がないことです。そして、彼らはどんな順序で供給することもできます。したがって、UXは良いです。しかし...

これは多くのデフォルトパラメータを処理する最善の方法ですか?私が上に行くと問題が起こるでしょうか?

答えて

5

これらのパラメータをフィールドとして(juliaで)クラスを作成し、そのクラスをパラメータとしてmyfuncに渡すことができます。これらのフィールドにはデフォルト値を設定できるので、常に設定する必要はありません。これは、保守性と可読性の面で優れています。

+1

Parameters.jlも参照してください。 –

関連する問題