この記事はRuby Advent Calendar 2016の19日目の記事です。 今回は、リファクタリング系のわりと初歩的な内容かなと思います。 常にこうした方がいいというわけではなく「こういう道もあるんだよ」という選択肢を持っていると、いつか役に立つかも。ぐらいのトピックです。 発想がHash 例えば以下のようなコードがあったとします。 def 料理する(foods) foods.each do |food| case food["type"] when "フルーツ" 皮をむく(food["name"]) 切る(food["name"]) when "野菜" 切る(food["name"]) 煮る(food["name"]) end end end foods = [ { type: "フルーツ", name: "みかん" }, { type: "野菜", name: "キャベツ" }