前提・実現したいこと
元々Java開発をしていましたが、現在Rails開発に携わっています。
Rails5です。
以下のようなインデックス番号を含むハッシュキーへの代入をリファクタできますでしょうか?
ruby
15.times do |i| 2case i 3 when 0 4 hoge[:hoge_1_id] = hoges[i][:hoge_id] 5 hoge[:fuga_1] = hoges[i][:fuga] 6 hoge[:piyo_1] = hoges[i][:piyo] 7 when 1 8 hoge[:hoge_2_id] = hoges[i][:hoge_id] 9 hoge[:fuga_2] = hoges[i][:fuga] 10 hoge[:piyo_2] = hoges[i][:piyo] 11 when 2 12 hoge[:hoge_3_id] = hoges[i][:hoge_id] 13 hoge[:fuga_3] = hoges[i][:fuga] 14 hoge[:piyo_3] = hoges[i][:piyo] 15 when 3 16 hoge[:hoge_4_id] = hoges[i][:hoge_id] 17 hoge[:fuga_4] = hoges[i][:fuga] 18 hoge[:piyo_4] = hoges[i][:piyo] 19 when 4 20 hoge[:hoge_5_id] = hoges[i][:hoge_id] 21 hoge[:fuga_5] = hoges[i][:fuga] 22 hoge[:piyo_5] = hoges[i][:piyo] 23end 24end
試したこと
・インデックスを文字列結合しようと思ってもハッシュキーなので無理だった
・以下をまとめるメソッドを作ろうとしたが難しかった
ruby
1 hoge[:hoge_5_id] = hoges[i][:hoge_id] 2 hoge[:fuga_5] = hoges[i][:fuga] 3 hoge[:piyo_5] = hoges[i][:piyo]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/08 13:39
2021/09/08 13:46
2021/09/08 14:52