[Moscow.pm] if $var and $var==

Denis Evdokimov evdokimov.denis на gmail.com
Пн Дек 23 08:26:48 PST 2013


Думаю, что имелось ввиду
defined $ha->[$i]->{is_main} && $ha->[$i]->{is_main}==0

В целом, можно
($ha->[$i]->{is_main}//0)==0
Но не думаю, что так стоит делать.


23 декабря 2013 г., 19:09 пользователь Nick Knutov <mail на knutov.com>написал:

> Сейчас, чтобы не было варнингов (и если отключать их не допускается)
> приходится добавлять во все условия проверку на существование
> переменной. В итоге я имею кучу строчек вида
>
> $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
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131223/7f515e30/attachment.html>


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