这个结构在Ruby中意味着什么?

时间:2013-11-21 10:23:06

标签: ruby chef

我正在尝试学习厨师,但是我很难理解这个Ruby代码的作用。

web_app "helloworld" do
  server_name "hello.world"
  server_aliases ["www.hello.world"]
  docroot "/var/www/helloworld"
end

根据我的理解,第一行使用参数web_app调用"helloworld",但我没有得到do在此上下文中的含义,{{1返回一个列表?当我在Ruby中看到一个列表迭代器时,值就像这个web_app一样传递。我猜测它没有迭代,因为多次执行该代码没有多大意义。

1 个答案:

答案 0 :(得分:5)

doend封装了block in ruby。如果您愿意,可以将块传递给每个方法调用。 It is up to the method what to do with the block

大多数方法不关心附加的块,而是关注web_app method seems to call the block to configure itself

如果您想深入研究,请参阅以下内容: