2016-09-28 74 views
1

我目前正在創建一個包裝食譜,同時試圖通過使用Rubocop和Foodcritic來限制自己的正確格式。不過,我不斷收到以下錯誤:引號和廚師屬性中冒號之間的區別是什麼?

Use strings in preference to symbols to access node attributes 

Access node attributes in a consistent manner 

這使我想知道,是否有冒號和引號之間的區別嗎?

回答

0

是......冒號用於定義符號,而串由引號定義...所以:

​​是命名變量1

:'variable is 1'一個符號,一個象徵

'variable1' - 是一個字符串

"variable#{1}" - 是一個可以在其中定義變量的字符串。雙引號解釋字符串,而單引號使用字符串。

「variable1'.to_sym是一樣的:變量1

0

正如Sid的答覆中提到,:foo是一個符號,而"foo"'foo'都是字符串。對於節點屬性,我們會自動爲您轉換事物,以便兩種樣式都可以工作Foodcritic規則是爲了確保所有Chef代碼中的一致風格。如果您沒有理由不這樣做,我們建議使用字符串樣式,因爲引用的字符串在很多編程語言中都很常見,所以更少用Ruby流利的讀者來理解。

相關問題