0 ruby arrays hash scope nested-loops
我有一个红宝石哈希:
VALS = { :one => "One", :two => "Two" }
Run Code Online (Sandbox Code Playgroud)
和一个数组:
array2 = ["hello", "world", "One"]
Run Code Online (Sandbox Code Playgroud)
问题:如何填充新的array1,以便它只引入array2中与VALS中的值完全匹配的任何值?
例如,我试过:
array2.each_with_index do |e,i|
array1 << e if VALS[i] ~= e
end
Run Code Online (Sandbox Code Playgroud)
和其他东西一起,没有工作.菜鸟.
谢谢
辉煌!但是我尝试过:
p array.select { |i| hash.has_value? i ? array[i+1] : "foo"}
Run Code Online (Sandbox Code Playgroud)
我有一个无法转换fixnum错误.我肯定错过了什么.
如果两个集合都很大,那么使用嵌套循环会非常慢.最好将内容视为集合:
array1 = VALS.values & array2
print array1
Run Code Online (Sandbox Code Playgroud)
输出:
One
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |