Есть ли веская причина использовать eval ()? - PullRequest
23 голосов
/ 01 декабря 2009

Мне кажется, что к eval() относятся с тем же презрением, что и к goto. И под eval я подразумеваю функцию для выполнения строки в виде кода, как видно из PHP, Python, JavaScript и т. Д. Есть ли когда-либо ситуация, когда использование eval() оправдано (кроме perl)? И если нет, то почему так много языков реализуют это?

Ответы [ 11 ]

0 голосов
/ 01 декабря 2009

Для отладки / тестирования идеи перед ее правильной реализацией.

Например, вы создаете игрушечный калькулятор и хотите сначала поработать с графическим интерфейсом, поэтому вы просто используете eval, чтобы выполнить фоновую работу в фоновом режиме. Позже вы возвращаетесь к бэк-энду, очищаете eval и пишете правильный анализатор выражений.

...