好的,我要问两个问题,并将每个用户的输入放入单独的哈希中。我正在使用循环来遍历多次,然后将所有哈希添加到数组中。 我的问题是/我困在哪里,如何将每个哈希的值之和分配给它们自己的单独哈希。
这是我的代码:
arr:[]
(1..n).each do |i|
hash=Hash.new()
puts "Please input a value for day # #{i}"
hash["day1"]=gets.chomp.to_f
puts "Please input a value for day # #{i}"
hash["day2"]=gets.chomp.to_f
arr << hash
end
我想做这件事,因为这是我一直用于收集用户输入并将其放入哈希中的方法,但是它不起作用:/
hash[:total]= hash.each_value.inject(:+)
我基本上想对每个哈希值求和并将其放入一个新的哈希值中。那有可能吗?这是很难的原因,我将不得不在代码块之外执行此操作,但随后系统将无法识别变量:/
答案 0 :(得分:0)
您可以尝试使用Hash#reduce
的{{1}}方法
Hash#merge