我正在尝试学习厨师,但是我很难理解这个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
一样传递。我猜测它没有迭代,因为多次执行该代码没有多大意义。
答案 0 :(得分:5)
do
和end
封装了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。
如果您想深入研究,请参阅以下内容: