【发布时间】:2016-01-31 08:31:28
【问题描述】:
我有一个 Hash 将一堆 ID 索引到一个值,例如:
hash = {1: 3.00, 2: 4.00, 3: 2.00, 4: 15.00, 5: 12.00, 6: 1.00}
我有一个如下所示的数组:
arr = [2, 3, 6]
什么是一种简短的 Ruby 惯用方式来迭代我的 Array 并将 Hash 中相应键的累积总数相加?
上面的结果等于:
4.00 + 2.00 + 1.00 == 7.00
【问题讨论】:
-
这个问题是在三个多星期前发布的。有趣的是,没有人指出
hash不是有效对象。语法{ 1: 2 }是{:1=>2}的简写,但符号不能以数字开头。{"1": 2}可以,但我怀疑你的意思是( 1=>2 }。此外,写入小数点后两位或多位数字的值(浮点数)也是没有意义的,最后一位是零,因为 Ruby 会丢弃最后的零。