我们最近决定在我的工作中编写一份 ruby 风格指南。其中一项法令是任何行不得超过 80 个字符。由于这是一个 Rails 项目,我们经常有一些较长的字符串——例如“用户 X 想给你发送一条关于事物 Y 的消息”,它并不总是符合 80 个字符的样式限制。
我知道有三种方法可以使长字符串跨越多行:
- 赫雷多克
- %Q{}
- 实际的字符串连接。
然而,所有这些情况最终都会花费更多的计算周期,这似乎很愚蠢。字符串连接很明显,但是HEREDOC
我%Q
必须通过类似.gsub(/\n$/, '')
.
有没有一种纯粹的语法方式来做到这一点,这相当于将整个字符串放在一行上?显然,目标是不要仅仅因为我希望我的代码更具可读性而花费任何额外的周期。(是的,我意识到你必须做出很多权衡......但是对于字符串长度,这似乎很愚蠢。)
更新:反斜杠不是我想要的,因为你失去了缩进,这真的影响了风格/可读性。
例子:
if foo
string = "this is a \
string that spans lines"
end
我觉得上面的内容有点难以阅读。
编辑:我在下面添加了一个答案;三年后,我们现在有了波浪形的heredoc。