Упс. Не заметил, что уже ответили.

23 декабря 2013 г., 20:26 пользователь Denis Evdokimov <
[email protected]> написал:

> Думаю, что имелось ввиду
> defined $ha->[$i]->{is_main} && $ha->[$i]->{is_main}==0
>
> В целом, можно
> ($ha->[$i]->{is_main}//0)==0
> Но не думаю, что так стоит делать.
>
>
> 23 декабря 2013 г., 19:09 пользователь Nick Knutov <[email protected]>написал:
>
> Сейчас, чтобы не было варнингов (и если отключать их не допускается)
>> приходится добавлять во все условия проверку на существование
>> переменной. В итоге я имею кучу строчек вида
>>
>> $foo = 0 if $ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0;
>>
>> И это еще простой пример, $ha бывает очень вложенным и развесистым и это
>> бывает не единственная переменная в условии.
>>
>> Как можно коротко и красиво переписать этот кусок?
>> $ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0
>>
>> Можно предполагать, что меня устроит, что отсутствие переменной и её
>> равенство undef даст одно и то же в результате проверки.
>>
>> --
>> Best Regards,
>> Nick Knutov
>> http://knutov.com
>> ICQ: 272873706
>> Voice: +7-904-84-23-130
>> --
>> Moscow.pm mailing list
>> [email protected] | http://moscow.pm.org
>>
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить