![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Есть хэш который использовался для проверки уникальности чего - либо.
По смыслу - в нем всего 1 ключ (если 2 - это ошибка бизнес - логики) Задача - красиво извлечь оттуда этот ключ. Господа, однострочники, предлагайте решения =) мое:
щитаю сие все-таки хаком =( Это сообщение отредактировал(а) sir_nuf_nuf - 15.9.2008, 20:09 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
(keys %hash)[0]?
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
arto, интуиция подводит =)
syntax error at - line 2, near ")[" Execution of - aborted due to compilation errors. |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# perl -le '%a = (''a'' => 1); print ((keys %a)[0]);'
a # |
|||
|
||||
| DaemonSuw |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 11.3.2008 Репутация: 3 Всего: 3 |
я так понимаю "извлечь" - это удалить и получить значение, но ваше решение
выдает
Если удалять элемент не надо тогда достаточно просто ($a,undef) = each %a, или просто $a=each %a? Это сообщение отредактировал(а) DaemonSuw - 15.9.2008, 22:03 |
||||
|
|||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
||||
|
||||
| sir_nuf_nuf |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
ага, в принципе хорошо, но использовать это предполагалось именнов скалярном конетксте:
Добавлено через 4 минуты и 2 секунды DaemonSuw, +1. Действительно each в cкалярном контексте решает задачу =)
Итак решение:
или в нашем случае:
|
||||||||
|
|||||||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
sir_nuf_nuf, еще вариант
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |