[Moscow.pm] (без темы)

Dmitry L. dim0xff на gmail.com
Пт Май 17 03:54:28 PDT 2013


"cворачиваю" if-ы:
if (
    ($loaded_user eq 'OWNER' && $editable_user eq 'ADMIN')
                                      # Create user for admin by owner
    || ( ( $loaded_user eq 'ADMIN' || $loaded_user eq 'OWNER') &&
$editable_user eq 'USER' )     # Create moderator for user by
admin/owner
) {
    $loaded_user->create($editable_user)
}

if (
    [ $loaded_user, $editable_user ] ~~ [
            [ 'OWNER', 'ADMIN' ],                   # Create user for
admin by owner
            [ [ 'ADMIN', 'OWNER' ], 'USER' ]    # Create moderator for
user by admin/owner
    ]
) {
    $loaded_user->create($editable_user)
}

2013/5/17 Andrew Shitov <andy на shitov.ru>:
> А кто-нибудь еще использует ~~? Можете показать примеры?
>
> Мой любимый кейс, например, проверка аргументов командной строки: if
> '--help' ~~ @ARGV.
>
>
> 2013/5/6 Ivan Petrov <i.petro.77.00 на gmail.com>
>>
>>
>> > http://pragmaticperl.com/issues/03/
>> >
>> > pragmaticperl-03-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80-cpan-%D0%B7%D0%B0-%D0%B0%D0%BF%D1%80%D0%B5%D0%BB%D1%8C-2013%D0%B3..html
>> >> группа возможностей switch, такие как оператор ~~, given и when
>> > помечаются экспериментальными и их использование теперь даёт
>> > соответствующее предупреждение.
>>
>> > чего это они так?
>>
>> > Из-за того, что таблица оператора ~~ содержит, если не ошибаюсь, 48
>> > строк,
>> > которые надо знать для правильного использования оператора с учетом всех
>> > особенностей.
>>
>> > Две темы:
>>
>> > 1) Убрать совсем - больше проблем нежели пользы.
>> > 2) Заменить на таблицу проще с ~5тью правилами.
>>
>> > given и when попали под раздачу так как попадают в одну корзину с ~~.
>>
>> > Лично я буду рад 2му решению. Ибо из-за дикой многообразности просто не
>> > использую в коде.
>>
>> я ~~ юзаю для сравнения скаляров, могущих содержать undef
>> а так же проверки входит ли скаляр в массив - удобно весьма.
>>
>> а вот given/when - наоборот перестал использовать с тех времен когда
>> наткнулся на то что с ними не всегда точно die/croak номер строки
>> указывает.
>> хз может быть сейчас пофиксили
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
>
> --
> Andrew Shitov
> ______________________________________________________________________
> andy на shitov.ru | http://shitov.ru
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
//wbr, Dmitry L.


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