Когда 'eval' в Ruby оправдан?

"«Eval» должен быть противным?"вдохновил этот:

В основном все согласны с тем, чтоeval это плохо, и в большинстве случаев есть более элегантная / более безопасная замена.

Поэтому я хотел спросить: еслиeval часто используется неправильно, действительно ли это необходимо в качестве языковой функции? Делает ли это больше зла, чем добра?

Лично единственное место, где я нахожу это полезным, это интерполировать строки, представленные в файле конфигурации.

Изменить: Цель этого вопроса состоит в том, чтобы получить как можно больше реальных случаев, когда eval является единственным или лучшим решением. Поэтому, пожалуйста, не идите в направлении «должен ли язык ограничивать творческие способности программиста».

Edit2: И когда я говорюevalКонечно, я имею в видуevalне передавая рубиновый блокinstance_eval или жеclass_eval.

Ответы на вопрос(8)

Ваш ответ на вопрос