|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 24 May 2003 09:23:26 To : "Rostislav Chebykin" Subject : Re: Как же Switch? -------------------------------------------------------------------------------- Здравствуй, Rostislav Chebykin. AC>> В данном случае несколько короче: AC>> return $something_1 if $var == 1; AC>> return $something_2 if $var == 2 || $var == 3 || $var == 4; AC>> return $something_3; RC> Здесь конструкция '$var == ' повторяется 4 раза. По-моему, это не RC> соответствует элегантности, которой стоит ожидать от Perl. RC> Кроме того, что делать в случае, если во второй строчке не 3, а 10 значений? RC> 100? 1000? А если не только во второй, но и в первой тоже? Я тебе открою страшную тайну. Perl предназначен для обработки текстов, а не чисел. Hо списки он кушать умеет на ура. Если их там 10, то ... if grep { $var == $_ } @list; А тот, кому нужна производительность, заведет хэш и напишет ... if $hash{$var} == 2; В случае 1000 switch в этой ситуации откровенно сосет. RC> В самом деле, нужен полноценный switch. Чтобы было сколько угодно строчек RC> case, причем чтобы в каждой строчке можно было задавать не только отдельные RC> значения, но и, например, массивы. Может, тебе язык сменить? Hа C, например? Если уж ты норовишь писать как на C? -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477425024cc.html, оценка из 5, голосов 10
|