Программирование на языке Ruby
Шрифт:
Будем предполагать, что данные представляют собой строки и числа, а все строки заключены в кавычки. Еще предположим, что все символы должным образом экранированы (например, запятые и кавычки внутри строки).
Задача оказывается простой, поскольку такой формат данных подозрительно напоминает встроенные в Ruby массивы данных разных типов. Достаточно заключить все выражение в квадратные скобки, чтобы получить массив.
Этот код выводит такой результат:
Более общее решение дает стандартная библиотека CSV. Есть также усовершенствованный инструмент под названием FasterCSV. Поищите его в сети, он не входит в стандартный дистрибутив Ruby.
2.24. Преобразование строки в число (десятичное или иное)
Есть два основных способа преобразовать строку в число: методы
Простой случай тривиален, следующие два предложения эквивалентны:
Но если в строке хранится не число, то поведение этих методов различается:
Метод
Оба метода допускают наличие пропусков в начале и в конце строки:
Преобразование строки в число с плавающей точкой работает аналогично:
Оба метода понимают научную нотацию:
Методы
Говоря о преобразовании из одной системы счисления в другую, мы всегда имеем в виду строки. Ведь целое число неизменно хранится в двоичном виде.
Следовательно, преобразование системы счисления — это всегда преобразование одной строки в другую. Здесь мы рассмотрим преобразование из строки (обратное преобразование рассматривается в разделах 5.18 и 5.5).
Числу в тексте программы может предшествовать префикс, обозначающий основание системы счисления. Префикс
Метод
Однако у метода
Из-за «стандартного» поведения этих методов цифры, недопустимые при данном основании, обрабатываются по-разному:
Хотя полезность этого и сомнительна, метод
Для преобразования символьной строки в число можно также воспользоваться методом
Метод
Законы Рода. Том 2
2. Граф Берестьев
Фантастика:
фэнтези
аниме
рейтинг книги
Барон меняет правила
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Ученик
2. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Черный Маг Императора 10
10. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
рейтинг книги
Черный Маг Императора 13
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
рейтинг книги
Чужое наследие
3. Другая сторона
Фантастика:
боевая фантастика
рейтинг книги
Глэрд VIII: Базис 2
8. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
рейтинг книги
Офицер Красной Армии
2. Командир Красной Армии
Фантастика:
попаданцы
рейтинг книги