我有一个很好的看看,但我找不到约定如何使用字符串报价。我知道两者之间的差异,但在任何地方,我都能看到带双引号的好代码,其中单打足够了。因此,我无法识别任何模式。我这样问是因为我想开始为开源做贡献,我想从一开始就养成良好的习惯。我宁愿尽可能使用单引号,也是为了增强我对两者之间差异的信心。红宝石编码约定单或双引号字符串
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