0
私は2つのハッシュを持っており、if条件の結果に基づいてそれらのうちの1つを反復処理する必要があります。以下は私のコードは、現在どのように見えるかです:Ruby each Iterator - if条件に基づいて反復処理するためにハッシュを置き換えますか?
if SOME CONDITION
hash_a.each do |x|
some code in here
end
else
hash_b.each do |x|
the same code in here
end
あり、各要素に対して実行されるコードの約30行がされているので、私の質問をされています。もっとこのようなコードを見て何かを作るための方法があります:
SOME CONDITION ? hash_a.each do |x| : hash_b.each do |x|
some code in here
end
それ以外の方法で単純化/縮小しますか?
ありがとうございます!
引数としてハッシュを使用してメソッドを作成することをお勧めします。たとえば、 'def doit(hash);ここにいくつかのコード。終わり。次に 'doit(condition?hash_a:hash_b)'を実行します。これはあなたがやっていることを明確にし、テストを容易にします。 –