我们最近决定在我的工作中做一个ruby风格的指南。其中一条法令是,任何一行的宽度都不得超过80个字符。因为这是一个Rails项目,所以我们通常会有稍微长一点的字符串,即“用户X想要向您发送关于Y的消息”,但并不总是符合80个字符的样式限制
我知道有三种方法可以使长字符串跨越多行:
- 埃雷多克
- %Q{}
- 实际字符串连接
然而,所有这些情况最终都需要更多的计算周期,这似乎很愚蠢。字符串串联很明显,但是对于herdoc和%Q我必须通过类似.gsub(/\n$/,'')的方式去掉换行符
有没有一种纯粹的语法方法可以做到这一点,这相当于将整个字符串放在一行上?显然,我们的目标是,不要仅仅因为我希望我的代码更具可读性而花费任何额外的周期。(是的,我意识到你必须做很多权衡……但对于字符串长度来说,这似乎很愚蠢。)
更新:
反斜杠并不是我想要的,因为你会失去缩进,这确实会影响风格/可读性
例如:
如果是foo
string=“这是一个\
“跨行的字符串”
终止
我觉得上面的内容有点难读
编辑:我在下面添加了一个答案;三年后,我们现在有了蠕动的埃雷多克
也许这就是你要找的
string=“line#1”\
“第2行”\
“第3行”
p字符串#=>;“第1行第2行第3行”