@FreeArcher
Senior 1С; php, JS Starter

Почему в perl нет двумерных массивов?

Разбираюсь с языком и хочется его понять.

В языке Perl невозможно создать массив с массивами в качестве элементов. То же самое относится и к хешам. Элементом массива или хеша может быть только скалярная величина. Поскольку ссылка является скалярной величиной, можно создать массив или хеш, элементами которого являются ссылки на массивы или хеши, и таким образом получить структуру, которую можно использовать как массив массивов (соответственно массив хешей, хеш массивов, хеш хешей). Благодаря ссылкам можно на основе массивов и хешей конструировать структуры данных произвольной сложности.


Скажите, то что в perl нельзя создавать массивы массивов и хешей, это ограничение языка или на это есть какие-то причины? Может это дает какую-то выгоду по производительности?

Ведь даже в языке Си есть двумерные массивы... Хочу разобраться поглубже в этом интересном языке.
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev
software engineer
Вы немного путаете массив массивов и многомерные массивы.

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

А просто многомерные массивы в перл естественно есть.
Двумерные массивы это просто массив, в котором для обращения к элементу нужно указать два индекса - array(x,y).
Или вот трехмерный массив с тремя индексами array(x,y,z)
Ответ написан
Комментировать
@Olgeir
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы