У меня есть многомерный массив:доступа/печати энный элемент к югу массива, для каждого массива
@multarray = ([ "one", "two", "three" ],
[ 4, 5, 6, ],
[ "alpha", "beta", "gamma" ]
);
я могу получить доступ @multarray[0]
[
[0] [
[0] "one"
[1] "two"
[2] "three"
]
]
или даже @multarray[0][0]
"one"
Но как я могу получить доступ к 1-му подэлементу каждого вспомогательного массива? что-то похожее на multarray[*][0]
так производят:
"one"
4
"alpha"
Спасибо!
Просто FYI: ' @multiarray [0] '- срез массива одного элемента. '$ multiarray [0]' обращается к скаляру со смещением нуля в массиве. Предпочитайте последний синтаксис, если вы действительно не собираетесь использовать срез. Помните, что в Perl * sigil * следует за типом ценности, с которым мы работаем. Таким образом, '$' предназначен для одного скаляра, даже если он является компонентом совокупного типа данных, такого как хэш или массив. – DavidO
Связано с комментарием DavidO, убедитесь, что вы всегда используете 'strict ', и' используете предупреждения' all '; '. При включенном предупреждении '@multarray [0]' даст предупреждение «Скалярное значение @multarray [0] лучше написано как $ multarray [0]" – ThisSuitIsBlackNot
Я рекомендую вам выбрать 'Data :: Dump' или' Data :: Dumper 'over' Data :: Printer' при форматировании данных для представления в вопросе. Последнее может быть полезно для личного использования в командной строке, но оно добавляет дополнительную информацию, которая может сбивать с толку вне контекста, особенно для кого-то, незнакомого с модулем. – Borodin