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