【发布时间】:2018-01-03 01:02:32
【问题描述】:
这是一个示例代码片段:
mwh_dir = "#{node['fmw']['middleware_home_dir']}"
我一直在使用这种语法,但无法在网上找到我为什么需要使用 node 节的详细信息。
如果有人可以解释node 在该代码中的用途。
注意:fmw 是在 .kitchen.yml 中定义的对象,middleware_home_dir 是在该对象中定义的变量。
【问题讨论】:
-
"如果有人能解释节点在该代码中的用途。"很明显,它引用了
Node。Node#[]委托给Node::Attribute#[],它是 [Mash](Chef 的原生红宝石子类Hash)的子类。因此,为了访问关于Node实例的属性,您必须像在大多数情况下一样指定接收者(在这种情况下为node)调用方法([]带有给定的键参数)。node[key]等同于node.attributes[key]
标签: ruby chef-infra test-kitchen