ahm*_*met 3 ruby ruby-on-rails ruby-on-rails-3
我0.0 24.0 0.0 12.0 0.0 0.0 0.0 0.0 0.0怎么得到这些值的总和?.sum等不适用于花车
编辑:
我正在做
<% @data.each do |data| %>
<%= data[ :values ]%>
<%end%>
Run Code Online (Sandbox Code Playgroud)
当data[:values]打印
[5.0, 0.0, 0.0, 0.0, 0.0]
[4.0, 0.0, 0.0, 0.0, 0.0]
[1.0, 0.0, 0.0, 0.0, 0.0]
,我只希望得到每个数组的第一个值和它们一起求和得到10.0
@data打印
[{:name=>"BMW", :values=>[0.0, 0.0, 0.0, 0.0, 0.0]}, {:name=>"Asda", :values=>[32.0, 12.0, 0.0, 0.0, 0.0]}]
Run Code Online (Sandbox Code Playgroud)
假设它们在一个数组中,这可以工作:
irb(main):001:0> [0.0, 1.0, 3.0].inject(:+)
=> 4.0
Run Code Online (Sandbox Code Playgroud)
编辑:根据您编辑的问题,您似乎想要:
@data.reduce(0) { |sum, x| sum += x[:values][0] }
Run Code Online (Sandbox Code Playgroud)
它抓取每个:value的第一个(第0个)元素,并将它们汇总在一起:
irb(main):003:0> @data
=> [{:values=>[0.0, 0.0, 0.0, 0.0, 0.0], :name=>"BMW"}, {:values=>[32.0, 12.0, 0.0, 0.0, 0.0], :name=>"Asda"}]
irb(main):004:0> @data.reduce(0) { |sum, x| sum += x[:values][0] }
=> 32.0
Run Code Online (Sandbox Code Playgroud)