Наш чатик

Телеграм чат начинающих программистов. Общаемся и помогаем друг другу

Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush или пойти другим путем

Магазин с хранением товаров

Настала пора дописать к нашему магазину программу, которая будет записывать новый товар в XML-список товаров.

Напишите программу, которая спрашивает у пользователя, какой продукт он хочет добавить и в зависимости от выбора просит у него дополнительно ввести соответствующие поля.

Например:

>ruby add_a_product.rb
Какой товар вы хотите добавить?
0: Book
1: Movie
2: Disk
2
Укажите стоимость продукта в рублях
350
Укажите, сколько единиц продукта осталось на складе
7
Укажите название исполнителя
Эндрю Ллойд Вебер
Укажите название альбома
Jesus Christ Superstar
Укажите музыкальный жанр
Rock Opera

Это будет сложная и серьёзная программа, которая проверит, насколько хорошо вы освоились с записью в XML.

Во-первых, спросите у пользователя, какой класс он хочет создать. И создайте нужный в зависимости от выбора.

Во-вторых, реализуйте абстрактный метод to_xml: для каждого ребёнка нужно написать метод to_xml, который возвращает объект класса REXML::Element

В-третьих, у родителя нужно написать метод save_to_xml, который, используя абстрактный метод to_xml у самого себя (вспомните о конструкции self), получает тег и дописывает его к уже имеющейся xml-структуре, полученной из файла.