|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » [решено] Perl хэш двумурных массивов |
|
[решено] Perl хэш двумурных массивов
|
Пользователь Сообщения: 127 |
Профиль | Отправить PM | Цитировать Добрый день!
Использую Perl 5.18 и пытаюсь добавить двумерные массивы в хэш (тип $hash{$key}=@matrix, где @matrix = двумерный массив, или массив массивов, кому как удобней в выражении). Помогите с выводом таких хэшей и адрессацией элементов. пример кода в котором я задаю массив и присваиваю его в хэш my %hash, @matrix; my @hash_key=qw(firs second 3rd 4rd 5rd); foreach (@hash_key) { # перебираем ключи для хэша undef @matrix; # обнуляем массив $n=1+int(rand(4)); # задаём кол-во строк в матрице print "\n\n\t Strok $n\n"; for (my $j=0; $j<=$n; $j++) { # заполняем матрицу push(@matrix,['n+j='.($n+$j), 'n-j='.($n-$j), 'n*j='.($n*$j)]); # добавляем в массив массив из 3х элементов } print "\n\n matrix chek:\n"; for (my $i=0; $i<$#matrix; $i++) { print "\n$i\n"; print "$_\t" foreach(@{$matrix[$i]}); } $hash{$_}=@matrix; # присваиваем очередному ключу матрицу } foreach my $key (sort keys %hash) { # перебор ключей хэша print "\n Key:$key\n"; # # а дальше пытаюсь вывести, и фэйл. что-то не так # for (my $i=0; $i<=$#{$hash{$key}}; $i++) { print "\n$i\n"; print "$_\t" foreach(@{${$hash{$key}}[$i]}); } } заранее спасибо! |
|
Отправлено: 15:19, 06-09-2016 |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать победил!
ошибка крылась в присваении матрицы в хэш. попробовал присваивать так и всё встало на свои места либо сразу пушить в хэш, дабы сыкономить на коде тему можно закрывать |
Отправлено: 15:46, 06-09-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PERL многомерный хэш. Вывести первый ключ | Тишина | Программирование в *nix | 4 | 01-06-2017 14:10 | |
Info - Что это за хэш? | Scaltro | Защита компьютерных систем | 0 | 21-07-2014 22:53 | |
FreeBSD - ХЭШ | Ruslan19891989 | Общий по FreeBSD | 0 | 02-11-2011 17:36 | |
Прочие БД - обработка массивов в postgres | PhilB | Программирование и базы данных | 0 | 22-09-2010 19:13 | |
FreeBSD 5.3 Perl не видит локали, а KDE при сборке не видит perl :o | mar | Общий по FreeBSD | 8 | 06-05-2005 13:13 |
|