Chef quote语法vs:xxx语法

时间:2014-02-12 00:17:00

标签: chef

我是Chef的新手,我看到有人这样做:node[:abc][:def]有时node['abc']['def']。我只是不知道差异,甚至认为我认为它是相同的。最佳实践,我应该使用哪一个?

由于

1 个答案:

答案 0 :(得分:2)

在Ruby中,:thing是符号。 'thing'是一个字符串。他们的行为有细微差别。我在这个主题上找到的最好的资源是this article

一般来说,这是一个偏好问题。它实际上是used to be a rule in Foodcritic,但是存在很多争用,它被删除了。在引擎盖下,Chef实际上使用了Mash,因此无论你使用什么都没关系。这真的是一个偏好的问题。

唯一需要注意的是插值。虽然可以使用符号进行插值,但它不常见。出于这个原因,您经常会将字符串视为更常见的关键选择。