"Предполагается, что "eval" является противным?" вдохновил этот:
В большинстве случаев все согласны с тем, что eval
плохой, и в большинстве случаев есть более элегантная/безопасная замена.
Итак, я хотел спросить: если eval
неправильно используется, действительно ли это нужно как функция языка? Это делает больше зла, чем пользы?
Лично я считаю, что единственное, что мне кажется полезным, - это интерполировать строки, предоставленные в файле конфигурации.
Изменить: Цель этого вопроса - получить как можно больше реальных случаев, когда eval является единственным или лучшим решением. Поэтому, пожалуйста, не входите в "если язык ограничивает направление творчества программиста".
Edit2: И когда я говорю eval
, я, конечно, ссылаюсь на строку eval
ing, не передавая ruby-блок на instance_eval
или class_eval
.