【发布时间】:2019-03-29 20:54:15
【问题描述】:
我正在做一个 Ruby 项目来制作公路旅行计算器。该程序从多个用户那里获取每加仑英里数和油箱大小来计算和比较燃油经济性。在下面的代码部分中,我想遍历一个名为车辆的数组,并将 3000 除以该数组中每个元素的 mpg。
我正在为下一步想做的事情苦苦挣扎:获取这些输出并将它们相加 (3000 / total_fuel[:mpg] + 3000 / total_fuel[:mpg] + 3000 / total_fuel[:mpg] ...元素)。到目前为止,这就是我所拥有的:
vehicles.each do |total_fuel|
total_fuel = (3000 / total_fuel[:mpg])
print total_fuel
end
当它打印时,它只是输出彼此相邻的计算,没有空格(例如 150166)。我完全不知道如何获取这些数字并添加它们,特别是因为它会根据用户输入信息的数量而产生不同的输出量。
我希望这很清楚。有什么想法吗?
【问题讨论】:
-
你能提供一个元素很少的数组样本吗?或者
vehicles.sum { |total_fuel| 3000.0 / total_fuel[:mpg] }? -
@iGian 这里是一个具有三个输入的数组示例
[{:name=>"John", :mpg=>24, :tank=>15, :maintenance=>4}, {:name=>"Sue", :mpg=>16, :tank=>10, :maintenance=>2}, {:name=>"Tom", :mpg=>31, :tank=>20, :maintenance=>5}]<br/>您提供的代码行虽然有效! -
请将您的示例输入放在问题本身中。另外,如果您对跨车辆求和,您如何比较燃油经济性?
标签: arrays ruby sum iteration each