eval的使用

eval的使用

比较下面两段代码:

[Copy to clipboard] [ - ]
我觉得是第一个效率更高,因为Eval总是有效能损失的,尽量少的Eval应该效率更高。
第一個效率高,因為僅僅是透過eval建立出一個||=敘述而已
而第二個則是還要呼叫define_method這個function,所以比較慢
skyover跟axgle能不能发表下自己的意见?
或许性能测试一下,用数据说话好些.
不过懒惰的话,想一想,我觉得两者没有差别吧?



[Copy to clipboard] [ - ]
呵呵,不好意思。现在来只能是提供测试结果了。

[Copy to clipboard] [ - ]
引用:

         user    system  total    real
inner eval   0.670000 0.000000  0.670000 ( 0.774050)
outer eval   1.590000 0.000000  1.590000 ( 1.637992)
eval1      0.590000 0.000000  0.590000 ( 0.644324)
eval2      0.090000 0.000000  0.090000 ( 0.133628)
您说的我大概都明白,但是这句话
引用:
所以 k1明显是先于k2出现的
具体ruby解释器怎么工作,我也不太清楚,我只是根据那些数据猜想整个执行过程,可能不是完全正确,再找一些资料看看吧,还没有找到关于ruby解释器如何工作的资料。。。
引用:
对于已经执行过的代码解释器会有记录而不会重新解释