2015-03-05 7 views
-1

Вот мой стол, как я могу суммировать поля цены и qty в нижней части таблицы?Как суммировать столбцы в Ruby

def output_action_header(text) 
     puts "\n#{text.upcase.center(60)}\n\n" 
    end 

    def output_stock_table(stock=[]) 
    print " " + "Stock Type".ljust(30) 
    print " " + "Number".ljust(20) 
    print " " + "Transaction".ljust(20) 
    print " " + "Price".rjust(6) + "\n" 
    puts "-" * 90 
    stock.each do |rest| 
     line = " " << rest.name.titleize.ljust(30) 
     line << " " + rest.qty.titleize.ljust(20) 
     line << " " + rest.transaction.titleize.ljust(20) 
     line << " " + rest.formatted_price.rjust(6) 
     puts line 
    end 
    puts "-" * 90 
    end 
+0

Что такое запасы, похоже на входящие в функцию? – Anthony

ответ

0

Если вы используете Ruby on Rails и т. Д. qty это число, вы можете сделать:

stock.sum(&:qty) 

или если вы используете Rails, но qty не номер:

stock.sum { |rest| rest.qty.to_i } 

Если вы не используете Rails, вы можете сделать:

stock.inject(0) { |sum, rest| sum + rest.qty } 
Смежные вопросы