私はChart
クラスに取り組んでおり、 、、および値margin
を保持するパラメーターがあります。私の最初のオプションは、セッターを作成し、次のように値を設定することでした::top
:bottom
:right
:left
margin
# Sets :left and :right margins and doesn't alter :top and :bottom
chart.margins = {:left => 10, :right => 15}
これは明らかにセッターなのでいいのですが、少し考えてみると、混乱を招く可能性もあると思います。ユーザーは、マージンには:left
と の:right
値しか含まれていないと考えるかもしれません。何が正しくないのでしょう。別のオプションは、削除=
して通常の方法にすることです。
chart.margins(:left => 10, :right => 15)
この構文を使用すると、何が起こっているかを簡単に把握できますが、標準のセッターではなく、margins
ゲッターと競合します。そして、まだ別のオプションがあります:
chart.margins(:left, 10)
chart.margins(:right, 15)
これについてどう考えればいいのかわからない。私にとっては、メソッドがセッターであることは明らかですが、今回は1回の呼び出しで複数の値を設定できず、ゲッターの問題が再び発生しました。私は Ruby に比較的慣れていないので、まだすべてのイディオムに慣れていません。それで、あなたはどう思いますか?最良の選択肢はどれですか?