得到一个数字浮点数的总和?

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)

der*_*ert 8

假设它们在一个数组中,这可以工作:

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)