![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Aster!x |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 7.8.2004 Репутация: нет Всего: нет |
Здравствуйте!
В perl имеется массив массивов: @sign = ([0x9C,0x60,0xEB,0x2B], [0x60,0x33,0xC0,0x75,0x02,0xEB,0x15]); Как можно определить размер массива $sign[$i], т.е. любого из анонимных массивов входящих в @sign ?? подобно как для массива @sign его можно вычислить как $#sign+1 |
|||
|
||||
| Aster!x |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 7.8.2004 Репутация: нет Всего: нет |
Чисто интуитивно нашел что можно сделать так $#{$sign[$i]}+1
|
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
Aster!x
Или вот так: scalar(@{$sign[$i]}) или так: $len = @{$sign[$i]}. Твоё решение правильное, но тут важно понимать, что ты вычисляешь. Приведённый тобой массив - это не массив массивов, а массив ссылок на массивы! И вызвав $sign[$i] ты получаешь ссылку на массив. Для получения массива тебе нужно её разыменовать: @{$sign[$i]}, а вот теперь, по правилу работы с массивами, ты можешь получить индекс его последнего элемента $#{$sign[$i]}, ну и соответственно прибавив 1 (т. к. индексация начинается с 0) получаем его длинну. :-)))) |
|||
|
||||
| Aster!x |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 7.8.2004 Репутация: нет Всего: нет |
GoodBoy
Спасибо за развернутый ответ. > но тут важно понимать, что ты вычисляешь Я понимаю. Но вот два других способа не знал. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |