Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Сложные структуры данных


Автор: ky0x5a 17.10.2012, 10:59
Доброе время суток, подскажите, возможно ли строить в руби сложные структуры данных подобные таким как в Perl-e, например:

Код

#!/usr/bin/perl
use Data::Dumper;

my %hash = (
  k1 => sub{ return 1 },                       # ананомная ф-ция
  k2 => [1,2,3,4,5],                           # массив
  k3 => [1,2, \%other_hash],                  # массив, послед элемент ссылка на хеш
  k4 => [1,2,3, [1,2,3], [3,4,\@array, \%h]], # массив-массивов, где есть ссылки на др массив и хеш
  k5 => { # хеш анонимных функций
    f1 => sub { return 1 },
    f1 => sub { return 2 }
  }
);

__END__
# Дамп структуры переменной %hash

$VAR1 = 'k5';
$VAR2 = {
          'f1' => sub { "DUMMY" }
        };
$VAR3 = 'k2';
$VAR4 = [
          1,
          2,
          3,
          4,
          5
        ];
$VAR5 = 'k1';
$VAR6 = sub { "DUMMY" };
$VAR7 = 'k3';
$VAR8 = [
          1,
          2,
          {}
        ];
$VAR9 = 'k4';
$VAR10 = [
           1,
           2,
           3,
           [
             1,
             2,
             3
           ],
           [
             3,
             4,
             [],
             {}
           ]
         ];


Я пологаю для каждого ключа нужно будет создавать объект, подобно [] или {}, может можно как то вот так по быстрому и красивому варианту?

Автор: source777 20.10.2012, 15:25
А в чём конкретно сложность?

Код

hash = {'k1' => lambda{ 1 }, 'k2' => [1, 2, 3, 4, 5], 'k3' => [1, 2, other_hash]} # и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)