![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
для чего нужен eval в веб программировании, можно ли его не использовать?
в одном проекте на Catayst часто видел везде стоит eval, ну и модули сделаные с die например
если написать без eval, то выдаст ошибку я пишу так
eval это просто как стиль программирование, или его нужно использовать? |
||||
|
|||||
chorny |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.7.2009 Где: Молдавия Репутация: нет Всего: нет |
В данном случае eval - это перехват исключения. Во многих языках используется try {} catch {}. В Perl такая конструкция возможна с помощью Error.pm или TryCatch.pm.
|
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
то есть можно не использовать eval?
try {} v catch {} знаю, но тут не системное программирование, то есть я не пишу фремфорк, в веб программу, все модули и все методы должны быть на месте, не может быть что их не будет почему нельзя нормально пользователю выдать, например
|
|||
|
||||
Ramirez |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 18.1.2005 Где: Moscow, ExUSSR Репутация: 4 Всего: 5 |
ну собственно основная идея - это выполнить кусок кода (например динамически сформированного) на этапе исполнения. т.е. интерпретация произойдет только тогда, когда исполнение дойдет до этой строки. А применение может быть различным.
использовать или не использовать зависит от ситуации. Есть реальная вероятность что в вызываемом модуле/функции произойдет ошибка? Эту ошибку можно/нужно игнорировать? 1. возможность перехватывать любые ошибки в процессе исполнения
2. на этапе исполнения подключать модули по мере необходимости. а не все сразу в момент интерпретации.
3. позволяет динамически сформировать кусок кода и выполнить его:
Это сообщение отредактировал(а) Ramirez - 29.7.2009, 08:58 |
||||||
|
|||||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
ок, понтяно
|
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
больше всего мне eval нравится как обработчик исключительных ситуаций(ошибок). Кстати в языке Java блок try {} catch {} - просто необходимая часть кода.
Очень удобно, когда бизнес-логика проекта включает в себя ряд манипуляций на разном уровне, в коде, на уровне БД и т.д. -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |