【发布时间】:2017-11-29 23:59:56
【问题描述】:
我有以下循环:
(1..1000).each do |i|
user1 = User.create(:name => "Bob#{i}")
...
end
如何让变量名user1 使用i 动态变化来获取:
user1 == Bob1
user2 == Bob2
user3 == Bob3
【问题讨论】:
-
为什么不使用数组来存储这些用户呢?
users = (1..1000).map{|i| User.create(...)} -
我需要在循环中做更多的事情
-
在块内声明的局部变量不能从块外访问。因此,您可以将变量命名为
user。 -
如果你的本地变量在块内不会离开块,那会是什么意思。他们的范围是有限的。
-
@AnnaSm “我需要在循环中做更多事情”——你需要对循环当前迭代的用户做更多事情还是同时对多个用户做更多事情?
标签: ruby local-variables