如果我有作为给。每次循环结束红宝石
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
感谢
你真的是指哈希?对散列进行排序并不总是可靠的(取决于你如何在散列中添加内容以及你使用的是什么ruby版本)。由于订单不可靠,“最后”项目将不一致。问题中的代码和您得到的答案更适合于数组或枚举。例如,哈希没有'each_with_index'或'last'方法。 – Shadwell 2010-10-22 20:49:17
'Hash'在Enumerable中混合,所以它确实有'each_with_index'。即使散列键没有排序,这种逻辑总是在渲染视图时出现,其中最后一项可能以不同的方式显示,而不管它是否在任何有意义的数据上都是“最后”。 – Raphomet 2010-10-22 21:04:34
当然,非常正确,哈希确实有'each_with_index',道歉。是的,我可以看到它会出现;只是试图澄清这个问题。个人而言,对我来说最好的答案是使用'.last',但不适用于仅散列数组。 – Shadwell 2010-10-22 21:09:00