我在 matlab 的其他人的代码中遇到了函数eval(expression)的使用:例如:
for n = 1 : 4
sn = int2str( n) ;
eval( [ 'saveas( fig' sn ', [ sName' sn ' ], ''fig'' ) ' ] );
end
Matlab Help 中的 MathWorks 资料指出:
与其他 MATLAB 函数和语言结构相比,eval 函数的许多常见用途效率较低,并且更难阅读和调试。
在此之后,我发现这个函数在许多其他程序语言中都有使用,例如 Python、JavaScript、PHP。
所以我有几个问题:
- 这个函数的使用会影响我的代码的性能吗?
- 如果它会减慢执行速度,为什么会发生?
- 如果每次调用都会减慢执行速度,原则上使用这个函数的原因是什么?