С Новым годом! Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 18.04.2013
Сообщений: 15

Как получить доступ к элементу хэш-массива ?

29.09.2013, 22:00. Показов 965. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется хэш массивов. Сохранил его через store во временном файле и получил через retrieve.
Получается что-то вроде следующего:

Perl
1
2
my $hashref= retrieve('file.txt');
print $hashref->{'key1'});
Выводит ARRAY(0x1fd7034) - Это, как я понимаю, из-за того, что по такому ключу массив-таки существует, но что делать дальше ? Как вывести, например, 5-ый элемент массива ?
Я плохо разбираюсь в механике ссылок и обращению со структурами такого вида.
Помогите, пожалуйста ( с пояснениями, если нетрудно).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2013, 22:00
Ответы с готовыми решениями:

Как получить доступ к элементу массива, который сам является элементом массива
Здравствуйте! Использую Delphi 6 Есть такой тип type firstArray = array of single; Далее я объявляю такую переменную ...

Как получить доступ к элементу массива типа запись
PElem=^TElem; TElem= record {Описание элемента } Marka: string; key:integer; end; PMyArray= array of...

Как получить доступ к элементу scroll?
При создании широкого изображения на канвасе был добавлен скролл. #canvas{ overflow: auto; } и все бы хорошо, но вот...

4
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
30.09.2013, 10:11
Цитата Сообщение от Breetonia Посмотреть сообщение
Как вывести, например, 5-ый элемент массива ?
Попробуйте так
Perl
1
$hashref->{'key1'}[4]
0
1 / 1 / 0
Регистрация: 18.04.2013
Сообщений: 15
30.09.2013, 20:07  [ТС]
Работает : ), и слава Богу.
А что в случае таких страшных вещей ?
Perl
1
my $ref = [{'key1' => 'value1'}];
Который час ломаю голову, как произвести запись и перебор элементов анонимного хэша внутри анонимного массива( или как там правильно) нормальный.

Получить доступ можно по ссылке и делается это так :
Perl
1
 print $ref->[0]->{key1};
Мне нужно расширить этот хэш(именно хэш!) путем занесения в него различных элементов, например,
key2 => value2, key3 => value3 и т.д. Сделать это, к примеру, в цикле через push или присвоение через =.
Скажите, пожалуйста, КАК это сделать правильно ? Мозги плывут.
Как эта структура будет выглядеть после записи в неё хэш-элементов ?
Вообще хотелось бы знать, как грамотно именовать такую штуку, а то названий на языке вертится много))).
0
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
01.10.2013, 14:06
Цитата Сообщение от Breetonia Посмотреть сообщение
Мне нужно расширить этот хэш(именно хэш!) путем занесения в него различных элементов
Попробуйте так
Perl
1
$ref->[0]{'key2'} = 'value2';
Добавлено через 3 минуты
Цитата Сообщение от Breetonia Посмотреть сообщение
Как эта структура будет выглядеть
Используйте модуль Data::Dumper, он выводит структуру и значения в удобном виде
0
 Аватар для TheAthlete
174 / 170 / 19
Регистрация: 31.08.2010
Сообщений: 575
01.10.2013, 14:15
Лучше Data::Printer

Если консоль белая, а тест черный, то лучше вот-так
Perl
1
2
3
4
5
use Data::Printer {
         color => {
            string      => 'black', # strings
         },
       };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2013, 14:15
Помогаю со студенческими работами здесь

Как получить доступ к элементу scroll?
При создании широкого изображения на канвасе был добавлен скролл. #canvas{ overflow: auto; }и все бы хорошо, но вот изображение...

Как получить доступ к элементу управления
Собственно вопрос, есть вот такая разметка <WrapPanel Margin="45,194,49,257"> <ItemsControl...

Как получить доступ к элементу класса List?
Как получить доступ к элементу класса лист? Не пойму в самоучителе такого даже не написано List<int> num = new...

Как получить доступ к элементу фрейма iframe?
Используется: WebDriver, С# Требуется извлечь ссылки из элемента "a". ХАРАКТЕРИСТИКИ ссылок (если это имеет значение) href= 1...

Как получить доступ к элементу формы из Program.cs?
День добрый! Решил поколдовать в ВинФормс, ну и конечно, столкнулся с проблемой: ну создал я элемент button1, хочу создать в проге...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru