加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Ruby on Rails上解释Iterator语法

发布时间:2020-12-17 03:51:43 所属栏目:百科 来源:网络整理
导读:我开始学习 Ruby on Rails并发现自己对语法感到困惑,所以我不得不阅读一些Ruby语法.我从 http://www.cs.auckland.ac.nz/references/ruby/doc_bundle/Manual/man-1.4/syntax.html学到了语法: method_call do [`|' expr...`|'] expr...end 他们称之为迭代器.
我开始学习 Ruby on Rails并发现自己对语法感到困惑,所以我不得不阅读一些Ruby语法.我从 http://www.cs.auckland.ac.nz/references/ruby/doc_bundle/Manual/man-1.4/syntax.html学到了语法:

method_call do [`|' expr...`|'] expr...end

他们称之为迭代器.我理解一个迭代器运行循环,但我不明白我应该如何阅读这个或者在这个语法中发生了什么.我一直在RoR的截屏视频中看到它并且这些词语有意义,但我实际上不知道发生了什么.谁有人向我解释这个?

编辑:示例

respond_to do |format|
    format.json
    format.xml { render :xml => @posts }
end

解决方法

方法可以采用称为“块”的构造.这些是传递给方法的匿名方法.

另一种语法是:

method_call { |var| do_something(var) }

基本上,您是说对于迭代中的每个项目,将其命名为“var”并对该项执行某些操作.该方法只是调用您传入的块,因为它会“生成”项目.

这有帮助吗?

编辑:在你的例子中,他们以一种有趣的方式使用迭代器模式…可能只将一个格式对象传递到你的块中,这样你就可以告诉它要处理哪些格式,以及当你看到它时该怎么做.

换句话说,他们正在使用该模式创建各种DSL,以便您配置响应的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读