※「販売数」と「価格」を取り違えた例。データ次第では気が付かない コードを改善しよう ヘッダと、ヘッダに対応する各値の実装が分離しているから取り違えてしまいます。 ならば同時に書ければ取り違えは起こりません。 こんなコードにしてみました。 def self.dump_csv rule = { '年度' => lambda(&:year), '号数' => lambda(&:no), 'タイトル' => lambda(&:title), '価格' => lambda(&:price), } CSV.generate do |csv| csv << rule.keys all.each do |article| csv << rule.values.map { |predicate| predicate.call(article) } end end end なにしてるんだろう? まずはヘッダ