![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
Есть такой тестовый скрипт с полем со списком
задача-выбранный элемент записать в файл подскажите что не так Добавлено через 4 минуты и 43 секунды косяки найдены |
|||
|
||||
OutlawZ |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 269 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Лучше использовать модуль use Switch чем if )
-------------------- ![]() ![]() |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
||||
|
||||
OutlawZ |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 269 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
perldoc -v switch Кусок из документации описания оператора:
Это сообщение отредактировал(а) OutlawZ - 9.5.2010, 23:23 -------------------- ![]() ![]() |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
OutlawZ, где написано про лучше?
|
|||
|
||||
OutlawZ |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 269 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
А где это должно быть написано? считайте что тут написано ), switch он и в Африке switch, компактней получается если смотреть со стороны PHP кодинга. Все по блокам case нежели грубых if вставок, хотя я не претендую , каждый пишет как ему удобней и советует так же ), я бы лично через switch бы сделал. -------------------- ![]() ![]() |
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
О том, что Switch лучше там не написано, зато написано обратное. См. раздел limitations.
|
|||
|
||||
odmink0 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.4.2010 Где: Рязань Репутация: нет Всего: нет |
Ну то, что хуже - там точно не написано %) Модуль Switch лучше использовать чем "каскадный if" банально по причине лучшей читабельности кода. Тем более, что он входит в базовую поставку в версии 5.8.8 и выше (может и ниже, не знаю точно). Да, у модуля есть ограничения, но они практически не затрагивают код, написанный в соответствии с книгой "Perl Best Practices" того же автора (must read для каждого хорошего программиста). С другой стороны, этот модуль использует source parsing, что в принципе может стать источником непредсказуемых ошибок - "only perl can parse Perl". Ещё одним минусом модуля является наличие незакрытых багов 1-3-хлетней давности. Сейчас для подобных блоков лучше вместо Switch использовать конструкцию given/when, появившуюся в Perl 5.10 (который вышел почти 3 года назад и установлен сейчас на некоторых хостингах), а если в условном блоке происходит простое присваивание, то можно использовать "переключатели значения" (PBP, 6.16) или "табличные триады" (PBP, 6.17). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |