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