[Moscow.pm] HA: false

Вячеслав Матюхин me на berekuk.ru
Пт Май 27 09:58:25 PDT 2011


1. Не "гораздо хуже", а works as intended. Не зря же там есть _HASHLIKE.
2. Опять-таки так и задумано. Весь этот тред народ обсуждает, как отличить пустой хеш от непустого. Логично, что и про массивы такой же спор может быть, и логично позволить пользователю решить, чего ему хочется.

Вообще я этим модулем сам ни разу не пользовался, но часто видел в зависимостях - Dist::Zilla, Moose и PPI им пользуются, например.

On May 26, 2011, at 17:57, Олег Алексеенков wrote:

> Вячеслав Матюхин <me на berekuk.ru> писал(а) в своём письме Thu, 26 May 2011 16:09:18 +0400:
> 
> 1. там ref а не isa. это в два раза быстрее но гораздо хуже работает с blessed.
> 2. там странная логика. _ARRAY([]) вернет undef, нужно использовать _ARRAY0 что не очень логично.
> 
>> Все уже придумано - http://search.cpan.org/dist/Params-Util/
>> 
>> On May 26, 2011, at 12:01, Анатолий Шарифулин wrote:
>> 
>>> Ааааааааа, это новый доклад для Андрея Шитова :)
>>> 
>>> On Thursday, May 26, 2011, Олег Алексеенков <proler на gmail.com> wrote:
>>>> Andrei Fedorov <Andrei.Fedorov на sup.com> писал(а) в своём письме Wed, 25 May 2011 22:58:01 +0400:
>>>> 
>>>> 
>>>> От: moscow-pm-bounces+andrei.fedorov=sup.com на pm.org [moscow-pm-bounces+andrei.fedorov=sup.com на pm.org] от имени Анатолий Шарифулин [sharifulin на gmail.com]
>>>> Отправлено: 25 мая 2011 г. 19:49
>>>> Кому: Moscow.pm group
>>>> Тема: Re: [Moscow.pm] false
>>>> 
>>>> 
>>>> 
>>>> %{$ret||{}} - правильная запись, но лучше писать проще %$ret, зная что в $ret лежит всегда хеш.
>>>> 
>>>> 
>>>> Кто сказал, что это правильно?! Такая "правильность" сугубо личное мнение!
>>>> Если подразумевается, что в $ret могут быть не корректные для обработки данные (undef), то следует также учесть, что $ret может содержаться и скаляр:
>>>> Can't use string ("oops") as a HASH ref while "strict refs"
>>>> 
>>>> Почему нельзя просто проверить ref переменной $ret на значение HASH, и в зависимости от требований сделать next, return или $ret = {}.
>>>> 
>>>> 
>>>> sub is_hash ($) { UNIVERSAL::isa( $_[0], 'HASH' ) }
>>>> sub is_hash_size ($) { is_hash( $_[0] ) and %{ $_[0] } }
>>>> 
>>>> next unless is_hash_size $ref;
>>>> --
>>>> Moscow.pm mailing list
>>>> moscow-pm на pm.org | http://moscow.pm.org
>>>> 
>>> 
>>> --
>>> С уважением,
>>> Анатолий Шарифулин.
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
Вячеслав Матюхин
http://friendfeed.com/mmcleric
http://berekuk.ru



Подробная информация о списке рассылки Moscow-pm