| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > values & keys |
| Автор: Loki 10.6.2009, 14:24 | ||||||
| всем привет, подскажите как сделать в перле следующее. у меня есть такой массив где для одиноковый keys есть разные values, но нужно вывести не 1 value а все.
мне нужно вывести 1 2 а выводится только 2, ну а если я в цикле делаю
то выводит только 2 3 4 пробовал делать
в @x все равно 1 значени, в идеале мне нужно получить список в @ что-бы потом удобно перебрать его в foreach не юзая прочии функции. |
| Автор: ginnie 10.6.2009, 14:30 | ||
У Вас не массив, а хэш. Чтобы из хэша получить список значений для ключа надо в хэше по этому ключу хранить массив.
|
| Автор: Loki 10.6.2009, 18:45 | ||
а если нет? то так и никак иначе не выйдет? потому что в хэш у меня значения постепенно накапливаются, а потом типо нужно выбирать по каждому хэшу все значения, еще есть reverse, но тогда то же самое росто местами поменяется. т.е. если у меня так как в %a, хэши разные, а значения должны быть у никальными и по каждому хэшу вывести все значения не выйдет кроме как менять структуру записи? |
| Автор: ginnie 10.6.2009, 18:49 |
| Loki, не могли бы Вы указать, почему Вы не можете сохранять значения внутри хеша в виде массива? |
| Автор: Loki 11.6.2009, 00:41 |
| потому-что иначе мне придется делать двусвязный @ массив или как добавить данные в %a что-бы там было 'a' => [ '1', '2' ], ? например у меня уже там есть 'a' => '1', как добавить в 'a' еще двойку и не потерять единицу? |
| Автор: kavkaz 11.6.2009, 06:38 | ||
хранить изначально
вы же сами сказали что хэш дополняется... вот вам и превращение без потерь |