Где в документах Ruby определен оператор продолжения строки (обратная косая черта)? - PullRequest
0 голосов
/ 10 ноября 2019

У меня часто возникают проблемы с поиском эзотерики в документах по Ruby, и это наглядный пример. Где в официальных документах можно прочитать об использовании символа обратной косой черты \ для обозначения строки и / или продолжения строки? Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 ноября 2019

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

Вы можете сделать «обтекание» линий, поставив обратную косую черту - \ - в самом конце строки.

1 голос
/ 12 ноября 2019

Полагаю, что "самое официальное" место, которое задокументировано, находится в Разделе 8.4 Пробелы * Спецификация языка Ruby ISO :

whitespace ::
   0x09 | 0x0b | 0x0c | 0x0d | 0x20 | line-terminator-escape-sequence

line-terminator-escape-sequence ::
   \ line-terminator

Где line-terminator в свою очередь определяется в Разделе 8.3 Ограничители строки следующим образом:

line-terminator ::
   0x0d? 0x0a

[Примечание: ? долженбыть верхним индексом, обозначающим необязательность, например: 0x0d? , но это трудно записать в блоке кода.]

Итак, сложите их вместе, и это говорит о том, чтоОбратная косая черта с последующим LF или CRLF считается пробелом.

...