我们最近决定在我的工作中制定一个红宝石风格指南。其中一条规定是每行不得超过80个字符。因为这是一个Rails项目,所以我们经常使用稍微长一点的字符串。"用户X想给你发一条关于Y的消息"并不总是符合80个字符的样式限制。
我知道有三种方法可以让一个长字符串跨越多行:
然而,所有这些情况最终都需要更多的计算周期,这看起来很愚蠢。显然是字符串连接,但对于HEREDOC
和%Q
,我必须去掉换行符,通过类似.gsub(/\n$/, '')
的东西。
有没有一种纯语法的方法来做到这一点,这相当于把整个字符串放在一行上?显然,我们的目标是不花费任何额外的周期,只是因为我想让我的代码更具可读性。(是的,我知道你必须做出很多权衡……但对于字符串长度,这似乎很愚蠢。)
< p >更新: 反斜杠不是我想要的,因为你会失去缩进,这真的会影响样式/可读性例子:
if foo
string = "this is a \
string that spans lines"
end
我发现上面的内容读起来有点难。
编辑:我在下面添加了一个答案;三年后,我们现在有了弯弯曲曲的heredoc。