Анализ Marshal.dump в Ruby
Чтобы проанализировать, что и как записывается с помощью метода dump модуля Marshal, я буду писать небольшой код для примера. Если вы хотите читать результаты самостоятельно и пробовать по ходу дела, выводите их в консоль или в текстовый файл, открывать который следует специализированным редактором, поддерживающим отображение служебных символов. К таким редакторам относятся Notepad++, Sublime Text и другие. Пост пишется на за один вечер и будет обновляться впоследствии. Заголовок файла Как я успел выяснить за время тестов, заголовки делятся на несколько видов: модуль, класс и объект, в зависимости от того, что было передано в качестве аргумента методу dump. Заголовок модуля Создадим пустой модуль. / / Запишем результат дампа в строку: / / В строке 6 я декодирую каждый символ отдельно, потому что иначе консоль вывода Sublime Text выдает ошибку. Декодирование можно опустить и сразу вывести результат, используя puts string . Выведем результат в консоль: Руби...