@RailsRoger
Junior Ruby on Rails Dev

Чтение бинарных деревьев из архива на Ruby?

Нужна помощь.Есть архив trees.zip с файлами вида: barbra.tree, caryl.tree и тд. Внутри каждого файла лежит сериализованное дерево в формате JSON в виде:
[1 ,[[2 ,[3 , 4 ]],[3,[5,2]]]]
К примеру один из файлов aline.tree содержит такой вот код внутри:
[29,[[36,[[6,[[15,[[45,[[6,[25,20]],[41,[48,46]]]],[26,[[0,[33,25]],[19,[15,7]]]]]],[24,[[2,[[0,[19,30]],[20,[7,11]]]],[15,[[24,[46,7]],[25,[42,2]]]]]]]],[18,[[5,[[15,[[44,[19,2]],[3,[34,31]]]],[19,[[16,[28,21]],[26,[38,0]]]]]],[16,[[40,[[35,[27,33]],[48,[43,15]]]],[22,[[26,[32,26]],[31,[9,5]]]]]]]]]],[41,[[32,[[12,[[12,[[48,[43,0]],[21,[16,25]]]],[37,[[8,[44,40]],[21,[30,48]]]]]],[41,[[31,[[45,[11,24]],[46,[24,49]]]],[17,[[38,[20,5]],[35,[42,18]]]]]]]],[35,[[38,[[15,[[14,[30,49]],[32,[25,34]]]],[49,[[44,[35,44]],[34,[44,44]]]]]],[5,[[47,[[34,[4,1]],[27,[5,27]]]],[40,[[4,[0,14]],[12,[47,7]]]]]]]]]]]]

Более классический вид дерева:
1
  /     \
  2      3
/  \    /  \
3   4   5   2

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

Пример:
$ NAME=small ruby trees.rb

     1
  /     \
  2      3
/  \    /  \
3   4   5   2

$ NAME=funny ruby trees.rb

Данное дерево не растет в данном лесу.

$ ruby trees.rb

Безымянных деревьев у нас не растет.

Их необходимо прочитать из архива и на основе данных в файле вывести бинарное дерево.
Подскажите пожалуйста, как это сделать?
  • Вопрос задан
  • 385 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы