Ruby Ruby 中 each.do 集合遍历问题

Cger007 · 2017年07月03日 · 最后由 mlzhuyi 回复于 2017年07月04日 · 2339 次阅读

在 ruby 中用 each.do 遍历集合列表的时候,怎么能像 java 中 for(int i=0;i<list.size();i++) 循环那样,知道 i 的值,也就是 each.do 怎么判断正在执行的是第几次

each_with_index do |r, i|

each_with_index , rtfm

hash = Hash.new
%w(cat dog wombat).each_with_index do |item, index|
  hash[item] = index
end
hash   #=> {"cat"=>0, "dog"=>1, "wombat"=>2}
sec 回复
%w(cat dog wombat).each.with_index.inject({}) do |h, (item, index)|
  h[item] = index
  h
end
%w(cat dog wombat).map.with_index { |iterm, index| [iterm, index] }.to_h
需要 登录 后方可回复, 如果你还没有账号请 注册新账号