Доброе время суток, подскажите, возможно ли строить в руби сложные структуры данных подобные таким как в 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, [], {} ] ];
|
Я пологаю для каждого ключа нужно будет создавать объект, подобно [] или {}, может можно как то вот так по быстрому и красивому варианту? |