怎么在ruby中分辨每一个.each的循环?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (37)

如果我有一个循环,如

users.each do |u|
  #some code
end

其中,用户是多个用户的散列。怎么用最简单的条件逻辑,以查看某个是否在用户哈希中的最后一个用户上,并且只想为最后一个用户执行特定的代码,比如

users.each do |u|
  #code for everyone
  #conditional code for last user
    #code for the last user
  end
end

提问于
用户回答回答于
users.each_with_index do |u, index|
  # some code
  if index == users.size - 1
    # code for the last user
  end
end
用户回答回答于

但是,你似乎正在为所有用户运行相同的代码,并为最后一位用户提供了一些附加代码。如果是这样的话,这似乎更正确,并且更清楚地表明你的意图:

users.each do |u|
  #code for everyone
end

users.last.do_stuff() # code for last user

扫码关注云+社区