作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我目前在做:
@users.each do |user|
鉴于我有@users、@users1、@users2
有什么办法可以做到:
[@users, @users1, @users2].each do |user|
让每个循环遍历所有对象?
谢谢
最佳答案
您可以连接数组并迭代结果:
(@users + @users1 + @users2).each do |user|
...
end
使用展平可能很诱人,但您应该谨慎使用。如果任何数组的任何元素本身就是数组,一个简单的无参数 flatten
调用不会按照您预期的方式运行:
users, users1, users2 = [1,2], [ [3,4], [5,6] ], [ 7,8]
puts [users,users1,users2].flatten.inspect
# Will print [1, 2, 3, 4, 5, 6, 7, 8]
# Two small arrays are smashed!!!
然而,作为jleedev在其中一条评论中建议,Ruby 中的 flatten
函数可以接受一个整数参数,该参数定义数组将被粉碎到的最大级别,因此:
puts [users,users1,users2].flatten(1).inspect
# Will print [1, 2, [3, 4], [5, 6], 7, 8]
# Just as planned.
关于ruby-on-rails - @users.each 做|用户| --- 有没有办法对多个对象执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929828/
我是一名优秀的程序员,十分优秀!