Насколько я понимаю, это было инспирировано Ruby (=== и case when).
В Ruby это весьма широкоупотребляемая и удобная конструкция. Так что скорее всего просто упростят список правил для smart match. 6 мая 2013 г., 12:52 пользователь Vladimir Lettiev <[email protected]>написал: > On Mon, May 06, 2013 at 11:34:25AM +0400, Alexey Shrub wrote: > > > 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 > помечаются экспериментальными и их использование теперь даёт > соответствующее предупреждение. > > > > чего это они так? > > Война против smartmatch длится уже давно. > > Фича, появившаяся в perl 5.10, оказалась довольно глючной и постоянно > требовала исправления багов и доработки. В итоге получился монстр с > невообразимым количеством чёрной магии, вариаций действий в зависимости от > типов операндов. > > Если не ошибаюсь, то начал дискуссию RJBS: > http://www.nntp.perl.org/group/perl.perl5.porters/2011/07/msg174272.html > > Потом продолжил: > http://www.nntp.perl.org/group/perl.perl5.porters/2012/08/msg190658.html > > Так и появилась идея выкинуть умное сравнение из Perl, а потом либо > добавить совершенно новый вариант или вообще выделить в отдельный > модуль/feature. Чтобы что-то выкинуть, сначала требуется пройти путь > deprecation/experimental, т.е. сначала выпустить версию Perl, где фича > объявлена устаревшей (или экспериментальной), а в последующей версии Perl > фича может быть удалена. Таким образом, в Perl 5.20 smart match уже не > будет (или будет, но уже в другом виде). > > -- > Vladimir Lettiev aka crux ✉ [email protected] > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
