|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Stupnik 2:5020/400 04 Jul 2001 16:59:49 To : All Subject : Re: swich...case -------------------------------------------------------------------------------- "Denis Roshchin" <denis@komkon.org> wrote in message news:9hur3f$2b72$1@gavrilo.mtu.ru... > > Привет all! > Сегодня мы дописываем полезности к PERL'у, > которые релиазованны в других языках, > но по чьей-то вине отсутствуют в PERL ;)) > > Hасколько я знаю в Perl нету > поддержки такой прекрасной конструкции > со словами "case"?? > Может кто сам писал, или знает модуль, > в котором она описана? /* C snippet: */ x=1 switch(x) { case 1:printf("1!!!\n");break; case 2:printf("2!!!\n");break; case 3:printf("3!!!\n");break; default:printf("else1!!!\n");break; } x=4; switch(x) { case 1:printf("1a!!!\n");break; case 2:printf("2a!!!\n");break; case 3:printf("3a!!!\n");break; default:printf("else2!!!\n");break; } /* end of snippet */ # perl snippet $x=1; $DEFAULT=sub{}; sub ''{$DEFAULT->();$DEFAULT=sub {};}; { 1=>sub{print '1!!!'}, 2=>sub{print '2!!!'}, 3=>sub{print '3!!!'}, $DEFAULT=sub{print 'else1!'} }->{$x}(); $x=4; { 1=>sub{print '1a!!!'}, 2=>sub{print '2a!!!'}, 3=>sub{print '3a!!!'}, $DEFAULT=sub{print 'else2!'} }->{$x}(); # end of snippet Hемного криво... но максимально близко, и работает :) По крайней мере на perl 5.6.1 :) -- Best regards, Konstantin. Brainbench MVP for perl. Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488c9b9c30e.html, оценка из 5, голосов 10
|