在Ruby中,有没有办法使用hash.each_with_index这样的东西做| [k,v],i |?

nop*_*ole 46 ruby

否则,它需要

h = {:a => 1, :b => 2.2}
h.each_with_index do |pair, i|
  k = pair[0]; v = pair[1]
  p k, v, i
end
Run Code Online (Sandbox Code Playgroud)

设置kv这种方式似乎有点笨拙.它可以更简单或类似的东西

h.each_with_index do |[k,v], i|
Run Code Online (Sandbox Code Playgroud)

mol*_*olf 101

事实上,是的!使用括号:

h = {:a => 1, :b => 2.2}
h.each_with_index do |(k, v), i|
  p k, v, i
end
Run Code Online (Sandbox Code Playgroud)