我有一个Ruby散列相匹配:填充红宝石数组1与数组2字符串元素,当且仅当数组2元哈希值(不是键)
VALS = { :one => "One", :two => "Two" }
和阵列:
array2 = ["hello", "world", "One"]
问题:如何我可以填充一个新的array1,这样它只能拉入与VALS中的值完全匹配的array2中的任何值?
例如,我曾尝试:
array2.each_with_index do |e,i|
array1 << e if VALS[i] ~= e
end
随着其他的事情,并没有工作。菜鸟。
感谢
辉煌!但当我尝试:
p array.select { |i| hash.has_value? i ? array[i+1] : "foo"}
我得到了一个无法转换fixnum错误。我肯定错过了什么。
不知道&操作符作为数组的集合交集。每天学习一些新东西:) +1 – 2009-12-14 05:44:00
嗯......不需要'设置'的作品..永远不会想到! 但如果我想获得匹配第i个元素的数组的第i + 1个元素,怎么样? – Eric 2009-12-14 05:44:28