Объект в языке Ruby можно представить в виде строки. Также можно преобразовать строку обратно в объект. Для этого необходимо подключить библиотеку yaml.
yaml выглядит так:
"--- !ruby/object:Car\nmodel: Audi\nspeed: 400\n"
Yaml можно обратно преобразовать в объект
: Car: [model = Audi, speed = 400]
Мы можем даже сериализовать массивы: [Car: [model = BMW, speed = 600], Car: [model = Mazda, speed = 120]]
# encoding: utf-8 require "yaml" class Car def initialize(model, speed) @model = model @speed = speed end # Десереализуем в объект def self.deserialize(yaml_string) YAML::load(yaml_string) end # Объект сериализуем def serialize YAML::dump(self) end def to_s "Car: [model = #{@model}, speed = #{@speed}]" end end audi = Car.new('Audi', 400) yaml = audi.serialize puts "yaml выглядит так:" p yaml puts "Yaml можно обратно преобразовать в объект\n: #{Car.deserialize(yaml)}" puts bmw = Car.new('BMW', 600) mazda = Car.new('Mazda', 120) cars = [bmw, mazda] puts "Мы можем даже сериализовать массивы: #{cars}"Программа выведет:
yaml выглядит так:
"--- !ruby/object:Car\nmodel: Audi\nspeed: 400\n"
Yaml можно обратно преобразовать в объект
: Car: [model = Audi, speed = 400]
Мы можем даже сериализовать массивы: [Car: [model = BMW, speed = 600], Car: [model = Mazda, speed = 120]]
Комментариев нет:
Отправить комментарий