Ruby 厨师属性符号与字符串

Ruby 厨师属性符号与字符串,ruby,chef-infra,Ruby,Chef Infra,互相使用有什么特别的好处吗? 似乎通过使用符号,您将拥有一个ruby友好的语法,并获得一些性能提升。然而,许多超市烹饪书似乎使用了字符串,这是一种新的用户友好语法。Chef文档建议使用字符串,但没有提供任何明确的解释 有什么想法吗?对于不懂Ruby的人来说,字符串稍微清晰一些,因为双引号(或单引号)字符串在几乎所有语言中都是一种东西。很难解释符号的语法奇怪性以及它们超出了“像字符串一样,除了不”。它只保存了一个字符,所以我们说只使用字符串。我个人的经验是,Symbols很容易解释,除非你解释它们

互相使用有什么特别的好处吗? 似乎通过使用符号,您将拥有一个ruby友好的语法,并获得一些性能提升。然而,许多超市烹饪书似乎使用了字符串,这是一种新的用户友好语法。Chef文档建议使用字符串,但没有提供任何明确的解释


有什么想法吗?

对于不懂Ruby的人来说,字符串稍微清晰一些,因为双引号(或单引号)字符串在几乎所有语言中都是一种东西。很难解释符号的语法奇怪性以及它们超出了“像字符串一样,除了不”。它只保存了一个字符,所以我们说只使用字符串。

我个人的经验是,
Symbol
s很容易解释,除非你解释它们“像字符串一样,但不是”。如果您只是简单地解释它们是什么,特定类型数据的单独数据类型,即标签或标识符的数据类型,
Integer
是整数的数据类型,或者
String
是文本的数据类型,那么它们通常很容易理解,与
String
s没有什么混淆。记住,很多人都是从ops背景来找Chef的。他们最多可能知道bash脚本,但通常就是这样。“数据类型”这个词远远超出了我们最初的预期:)