[Moscow.pm] unless

Ruslan Zakirov ruslan.zakirov на gmail.com
Пн Май 4 09:52:10 PDT 2009


unless++
(return x if ...)++
(return x unless ...)++
(die "..." if ...)++
(die "..." unless ...)++


2009/5/4 Andrew Shitov <andy на shitov.ru>:
>> Задумался тут о своей нелюбови к unless-у (особенно к блочной форме),
>
> А я наоборот люблю. Если есть необходимость сделать действия if/else,
> причем else будет выполняться с большей вероятностью, то обычно
> стараюсь написать unless/else, чтобы более вероятное действие
> оказалось в коде выше.
>
> Еще один типичный случай: функции типа get_tag_id(key), которая
> возвращает id чего-то из базы, и создает новую запись, если подходящей
> записи там нет.
>
> my $id = sql(select id from tags where);
> unless ($id) {
>   sql(insert into);
>   $id = sql(select last_insert_id);
> }
>
> return $id;
>
> Опять же, в циклах удобно писать next unless /\d/.
>
> --
> Andrew Shitov
> ______________________________________________________________________
> andy на shitov.ru | http://shitov.ru
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best regards, Ruslan.


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