请查看以下一行厨师代码:
node.default['apache']['dir'] = '/etc/apache2'
在官方厨师文档中,它说'node'是一个对象,'default'是它的一种方法,那么方括号(我认为这是哈希语法)如何遵循一种方法?
我来自Python背景,我是Ruby的新手,也许这是一般语法,或者这可能是特定于Chef的语法,我只是对这种语法感到困惑。
答案 0 :(得分:2)
func startCamera(){
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.camera
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true, completion: nil)
}
(它实际上是node.default()
的别名)返回node.attributes().default()
的实例,它的工作方式类似于普通Chef::Node::VividMash
对象,但实现了深层集合你在那里看到的行为(在那里你可以设置一个深层嵌套的密钥而不创建干预级别)。