Программирование на языке Ruby
Шрифт:
2.3. Встроенные документы
Для представления длинной строки, занимающей несколько строк в тексте, можно, конечно, воспользоваться обычными строками в кавычках:
Но тогда отступ окажется частью строки.
Можно вместо этого воспользоваться встроенным документом, изначально предназначенным для многострочных фрагментов. (Идея и сам термин заимствованы из более старых языков.) Синтаксически он начинается с двух знаков
Но следите внимательно, чтобы после завершающего концевого маркера не было пробелов. В текущей версии Ruby маркер в такой ситуации не распознается.
Встроенные документы могут быть вложенными. В примере ниже показано, как передать методу три представленных таким образом строки:
По умолчанию встроенный документ ведет себя как строка в двойных кавычках, то есть внутри него интерпретируются управляющие последовательности и интерполируются выражения. Но если концевой маркер заключен в одиночные кавычки, то и весь документ ведет себя как строка в одиночных кавычках:
Если концевому маркеру встроенного документа предшествует дефис, то маркер может начинаться с красной строки. При этом удаляются только пробелы из той строки, на которой расположен сам маркер, но не из предшествующих ей строк документа.
Опишу стиль, который нравится лично мне. Предположим, что определен такой метод
Для ясности я включил подробные комментарии. В этом коде применяются конструкции, которые будут рассмотрены ниже
В качестве концевого маркера естественно употребить слово
2.4. Получение длины строки
Для получения длины строки служит метод
2.5. Построчная обработка
Строка в Ruby может содержать символы новой строки. Например, можно прочитать в память файл и сохранить его в виде одной строки. Применяемый по умолчанию итератор each в этом случае перебирает отдельные строки:
Выполнение этого кода дает следующий результат:
Альтернативно можно было бы воспользоваться методом
2.6. Побайтовая обработка
Поскольку на момент написания этой книги язык Ruby еще не поддерживал интернационализацию в полной мере, то символ и байт
В текущей версии Ruby строку можно преобразовать в массив односимвольных строк с помощью метода
Младший сын
1. Государи московские
Научно-образовательная:
история
рейтинг книги
12 великих комедий
Вожди Советского Союза
Проза:
классическая проза
рейтинг книги
Гобелены Фьонавара (сборник)
Гобелены Фьонавара
Фантастика:
фэнтези
эпическая фантастика
рейтинг книги
Королева Солнца (сборник)
Фантастика:
фэнтези
рейтинг книги
Неучтенный элемент. Том 1
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
рейтинг книги
Империум. Антология к 400-летию Дома Романовых
Фантастика:
фэнтези
социально-философская фантастика
героическая фантастика
научная фантастика
боевая фантастика
альтернативная история
рейтинг книги
"Фантастика 2025-25". Компиляция. Книги 1-24
Фантастика 2025. Компиляция
Фантастика:
боевая фантастика
попаданцы
фэнтези
рейтинг книги
Мясной Бор
Проза:
военная проза
историческая проза
рейтинг книги
Сказки и истории
Проза:
классическая проза
рейтинг книги
Грусть белых ночей
Библиотека "Дружбы народов"
Проза:
советская классическая проза
рейтинг книги
История человечества. Восток
История человечества
Научно-образовательная:
история
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Театральная Энциклопедия
Справочная литература:
словари
рейтинг книги