ruby-on-rails - Rails 中 "each .. do"或 "for .. in"循环之间的差异

标签 ruby-on-rails ruby-on-rails-3 loops

Possible Duplicate:
What is “for” in Ruby

嘿。我的问题是当我迭代数组时这些循环是否相同。感谢您的宝贵时间!

<% for track in @tracks %>

<% @tracks.each do |track| %>

最佳答案

它们是不同的(尽管这对于您的目的来说可能并不重要)。

for 不会创建新范围:

blah = %w(foo bar baz)
for x in blah do
   z = x
end
puts z # "baz"
puts x # "baz"

.each 为 block 创建一个新范围:

blah.each { |y| a = y }
puts a # NameError
puts y # NameError

关于ruby-on-rails - Rails 中 "each .. do"或 "for .. in"循环之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112014/

相关文章:

ruby-on-rails - 在 Rails 应用程序中显示评论数

ruby-on-rails - 如何通过覆盖诸如 respond_with 之类的方法来干掉 Rails 3 Controller ?

ruby - 如何在 Roo (Rails) : invalid byte sequence in UTF-8 中编码 csv 文件

ruby-on-rails - Capistrano: Killed RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile

javascript - Rails 中的 j 函数有什么作用?

python - 无法在循环中修改列表元素

c# - 如何避免 C# while 和 do-while 循环中的代码重复?

java - 无法迭代 HttpHeaders Map

ruby-on-rails - Mongoid : Eager loading count on has_many association

ruby-on-rails - 安全使用 gmail 和 heroku