我经常在Ruby文档中找不到esoterica,这就是一个很好的例子。在官方文档的哪里可以读到反斜杠字符\
来表示行和/或字符串的延续?谢谢!
在Ruby文档中的哪里定义了行延续运算符(反斜杠)?
•
问答
hrhhurunhong 回答:在Ruby文档中的哪里定义了行延续运算符(反斜杠)?
https://ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html
Ruby程序是表达式序列。每个表达式都用分号(;)或换行符分隔。行尾的反斜杠不会终止表达式。
https://ruby-doc.org/docs/ruby-doc-bundle/ProgrammingRuby/book/language.html
您还可以在行的末尾添加反斜杠,以将其继续到下一行。
https://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/misc.html
如果一行以反斜杠(
\
)结尾,则其后的换行符将被忽略;这样一来,您就可以拥有一条跨越多行的逻辑行。
https://ruby-doc.org/docs/ruby-doc-bundle/Tutorial/part_02/loops.html
,您可以通过在行的末尾加上反斜杠
\
来使行“环绕”。
我猜这是“ {official”(最正式)的地方,它记录在ISO Ruby Language Specification的8.4 空白中:
whitespace :: 0x09 | 0x0b | 0x0c | 0x0d | 0x20 | line-terminator-escape-sequence line-terminator-escape-sequence :: \ line-terminator
第8.3节行终止符中依次定义了line-terminator
,如下所示:
line-terminator :: 0x0d? 0x0a
[注意:?
应该是上标,表示可选项,例如:0x0d
?,但这很难在代码块中编写。]
因此,将两者放在一起,并说反斜杠后跟LF或CRLF被认为是空白。