Ruby 如何将 Array ().each 中得到循环次数的语句,写的很优美?

jjxp2007 · 2012年03月27日 · 最后由 jjxp2007 回复于 2012年03月27日 · 6806 次阅读

这是一个一直很困扰我的问题。当我在对数组做 each do 的时候,如果我想得到循环次数的计数,就会按以下这么写:

simple_array = %w[a b c]

#.......code.......#

int = 0

simple_array.each do |array|

int += 1
p "count #{int} : #{array}”

end


#.......code.......#


请教各位牛人如何能写的更佳优美?使 int 不出现在外层。

try:

arr.each_with_index {|item, index| ...}


each_with_index, 示例:

hash = Hash.new
%w(cat dog wombat).each_with_index {|item, index|
  hash[item] = index
}
hash   #=> {"cat"=>0, "dog"=>1, "wombat"=>2}

需要 登录 后方可回复, 如果你还没有账号请 注册新账号