我有一個很好的看看,但我找不到約定如何使用字符串報價。我知道兩者之間的差異,但在任何地方,我都能看到帶雙引號的好代碼,其中單打足夠了。因此,我無法識別任何模式。我這樣問是因爲我想開始爲開源做貢獻,我想從一開始就養成良好的習慣。我寧願儘可能使用單引號,也是爲了增強我對兩者之間差異的信心。紅寶石編碼約定單或雙引號字符串
6
A
回答
5
我不認爲在整個社區內都有很強的約定。從我所看到的情況來看,似乎有一種傾向於完全忽略單引號,並始終使用雙引號。在一些圈子裏,那是甚至是一個約定,但是一個本地化的,而不是整個社區。就個人而言,無論何時我有幾種不同的表達同一事物的方式,我傾向於使用這些不同的方式來表達不同的語義。 (例如,我使用花括號與在塊do
/end
被用於它們的副作用和塊被用於它們的返回值的塊之間進行區分。)
所以,我只用雙引號當我實際上想使用字符串插值或轉義,否則我使用單引號。這樣,當我看到一個字符串時,我可以立即知道沒有有趣的事情在發生,而且它裏面沒有隱藏的代碼。
雖然我很務實。我非常喜歡"It's a string!"
超過'It\'s a string!'
或%q[It's a string!]
。
12
什麼你可能已經知道:
- 單引號就好了簡單的字符串。
- 如果您需要評估字符串內的任何內容,則需要雙引號。
還有no significant performance difference。
使用雙引號是有幫助的,因此您可以使用撇號而不必擔心在字符串內部轉義它們,從而使字符串在代碼中看起來更「漂亮」。認爲"Don't do that"
與'Don\'t do that'
有一條思路,指出you should never escape in strings。如果在字符串中需要單引號和雙引號,最好使用heredoc或靈活的引號。最後,如果在字符串內部評估Ruby代碼不是一個問題,那麼我會讓它指導你編寫代碼時需要使用什麼。
相關問題
- 1. 紅寶石符號約定
- 2. 紅寶石智能雙引號轉換爲單引號
- 3. 紅寶石雙問號
- 4. 我如何在紅寶石的雙引號字符串中使用\ w
- 5. 紅寶石字符串編碼連續字母頻率
- 6. 紅寶石:字符從字符串
- 7. 紅寶石訪問符號「由援引」
- 8. 在信用卡號碼的紅寶石字符串操作
- 9. 紅寶石,Rhomobile的,JqueryMobile和單引號
- 10. 轉換單引號字符串中雙引號字符串
- 11. 紅寶石 - 瞭解符號
- 12. 如何使用紅寶石方法.match逃避單引號中的字符串
- 13. 在Vim中匹配單引號或雙引號字符串
- 14. Python:在字符串周圍插入雙引號或單引號
- 15. 紅寶石1.9.2字符編碼:無效的多字節字符:/?/
- 16. Emacs紅寶石符號字完成
- 17. ASCII85 BASE64紅寶石編碼
- 18. 紅寶石1.9.2 Find.find編碼
- 19. 紅寶石文件編碼
- 20. gsub從紅寶石中的字符串中的ASCII碼字符
- 21. 紅寶石VS符號中的字符串哈希
- 22. 紅寶石:UNESCAPE unicode字符串
- 23. 轉換紅寶石字符串BIGNUM
- 24. 紅寶石 - 字符串操作
- 25. 紅寶石 - 字符串內的評估
- 26. 紅寶石to_yaml字符串我的json
- 27. 紅寶石字符串分割問題
- 28. 紅寶石多個字符串匹配
- 29. []紅寶石字符串的方法
- 30. 紅寶石 - 從字符串中刪除
我最近擁抱[github ruby styleguide](https://github.com/styleguide/ruby),字符串約定在底部 – ecoologic 2013-02-26 03:53:13
現在我正在使用[Airbnb Ruby風格指南](https:// github。 COM /製作的Airbnb /紅寶石)。 – ecoologic 2017-11-28 22:56:13