【发布时间】:2013-11-23 10:43:34
【问题描述】:
我知道不应该使用eval。出于所有显而易见的原因(性能、可维护性等)。我的问题更多的是——它有合法用途吗?应该在哪里使用它而不是以另一种方式实现代码。
由于它以多种语言实现并且可能导致不良的编程风格,我认为它仍然可用是有原因的。
【问题讨论】:
-
好问题。我有兴趣看到答案。
-
@InbarRose 我不同意。这个问题不是问“eval 的合法用途是什么”,而只是问“eval 的这种特定用途是否合法”。因此,答案说这种使用是不好的以及如何避免它,但不是什么时候应该使用。
-
为什么问题从“在 Matlab 中使用 eval”变成了“Python”?
-
修复了标题。也许有人不喜欢 Matlab。 Wikipedia page on
eval描述了几种用途。