Язык программирования Perl



              

Ссылки на массивы - часть 3


На рис. 11.4 изображен получившийся в результате "массив массивов" (Аrray of Аrrays, AoA), представляющий собой многомерный массив.

Организация многомерного 'массива массивов'

Рис. 11.4.  Организация многомерного 'массива массивов'

Для вывода значений многомерного массива обычно используется нужное число вложенных циклов for или других циклических конструкций:

# цикл по строкам (элементам массива верхнего уровня) for (my $row = 0; $row < @{$ref2RxC}; $row++) { # цикл по столбцам (элементам вложенных массивов) for (my $col = 0; $col < @{$ref2RxC->[$row]}; $col++) { print "$ref2RxC->[$row][$col] "; } print "\n"; }

В результате выполнения этой программы построчно будет выведено значение всех элементов из массива массивов:

1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 2.5 3.1 3.2 3.3 3.4 3.5

В любой массив можно поместить список ссылок на другие программные объекты, например, таким образом:

@reference_list = (\$scalar, \@array, \%hash);

Можно записать то же самое более простым способом, поставив операцию взятия ссылки перед списком объектов в круглых скобках:

@reference_list = \($scalar, @array, %hash);

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




Содержание  Назад  Вперед