よりRubyに似たスタイルでRubyのコードを記述したいのですが、引数の受け渡しを操作するときに問題が発生しました。
ABC
ゼロかどうかを確認する必要があります。ABC
がnilの場合は、別のシンボルをdosomething
に渡します。そうでない場合は、別のタイプのハッシュ値を渡して計算します。
RubyはJavaとは異なり、異なるタイプの引数(異なるキー)を渡すことができます。
次のコードをより美しくするにはどうすればよいですか?
コード内の多くの場所で呼び出すためdo_manything
、、、を1つの関数do_otherthings
にマージdo_manythings_again
することは答えではありません。dosomething
if ABC.nil?
Apple.dosomething (:foo => DEF) { |a|
a.do_manything
a.do_otherthings
a.do_manythings_again
}
else
Apple.dosomething (:bar => ABC) { |a|
a.do_manything
a.do_otherthings
a.do_manythings_again
}
end