Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Пробельные символы

Lexer
WHITESPACE
      U+0009 // Горизонтальная табуляция, '\t'
    | U+000A // Перевод строки (Line feed), '\n'
    | U+000B // Вертикальная табуляция
    | U+000C // Прогон страницы (Form feed)
    | U+000D // Возврат каретки (Carriage return), '\r'
    | U+0020 // Пробел, ' '
    | U+0085 // Следующая строка (Next line)
    | U+200E // Слева направо (Left-to-right mark)
    | U+200F // Справа налево (Right-to-left mark)
    | U+2028 // Разделитель строк (Line separator)
    | U+2029 // Разделитель абзацев (Paragraph separator)

TAB → U+0009 // Горизонтальная табуляция, '\t'

LF → U+000A // Перевод строки (Line feed), '\n'

CR → U+000D // Возврат каретки (Carriage return), '\r'

WHITESPACE U+0009 U+000A U+000B U+000C U+000D U+0020 U+0085 U+200E U+200F U+2028 U+2029
TAB U+0009
LF U+000A
CR U+000D

Пробельный символ — это любая непустая строка, содержащая только символы, которые имеют свойство Юникода Pattern_White_Space.

Rust — это “свободноформатный” язык, что означает, что все формы пробельных символов служат только для разделения токенов в грамматике и не имеют семантического значения.

Программа на Rust имеет идентичное значение, если каждый пробельный элемент заменён на любой другой допустимый пробельный элемент, такой как одиночный символ пробела.