我正在学习
Ruby和RoR,我遇到了这个:
<% for post in @posts %>
在Rails guide.我明白,在Ruby中这样做的惯用方式是:
<% @posts.each do |post| %>
如果有差别呢,那是什么呢?如果没有差别,那么Rails的人们会推荐适当的Ruby成语(而不是对我来说更像pythonic)呢?
编辑:我刚刚发现了两个冲突的解释:Tutorials Point说,除了“一个for循环不会为本地变量创建新的范围”之外,它们是一样的,而CS.Auckland.ac.NZ则表示只是相当于的语法糖. .
Edit2:相关的for …是由脚本/生成脚手架在app / views / posts中生成的index.html.erb.我做了一个快速检查,现在生成.each语法.我猜这个指南的一部分是在轨道开发的早期阶段写的,当脚手架为…生成时.
编辑3:我现在可以确认x中的x在Rails 2.2.2中使用,但是使用了2.3.8,它使用y.each do | x |.就这样你才知道