Arrayでinjectを使ってみるヘ(^o^)ノ
injectはとても便利( ˘ω˘)
[1, 2, 3].inject(:+) #=> 6
こんな感じで読みやすくていい感じ
total_price = 90 total_price += [10, 20].inject(:+) #=> 120
Railsのバリデーションとかで使うならこんな感じかな
# 以下の値を仮定 limit_total_price = 100 total_price = 100 if items.map(&:price).inject(total_price, :+) > limit_total_price errors.add(:total_price, "over the limit") end # with ActiveSupport if items.map(&:price).sum > limit_total_price errors.add(:total_price, "over the limit") end
Happy Hacking٩( ‘ω’ )و
追記
- 2015/07/25 JunichiItoさんのコメ反映♪ Thanks!