1
A
回答
1
有常用的方法定義和塊之間幾乎沒有差別評價:
bench(1000000) do
class A; def test; end end
end
=> 2.5 sec
class B; end
bench(1000000) do
B.class_eval{ def test; end }
end
=> 2.75 sec
但這裏是用繩子很大的區別評價:
bench(1000000) do
B.class_eval("def test1; end")
end
=> 24.02 sec
無論如何,這些結構應該由他們的目的而使用,如果你進行元編程,然後使用類或實例評估,如果你只是定義一個方法,不要太巧。
相關問題
- 1. 類擴展類與類類
- 2. F#模塊擴展與類型擴展
- 3. Java設計:類型類與類擴展
- 4. 擴展擴展類型
- 5. 擴展擴展類Zend_Db_Table_Row_Abstract
- 6. 沒有類def def
- 7. 與「擴展」 UTIL
- 8. 擴展與C#
- 9. 當與擴展
- 10. 與SOAP擴展
- 11. php擴展類
- 12. php類擴展
- 13. 擴展CSS類
- 14. Javascript擴展類
- 15. 擴展PHP類
- 16. 擴展Java類
- 17. C++類擴展
- 18. PHP擴展類
- 19. 擴展Java類
- 20. 擴展ActiveResource類
- 21. 類和擴展
- 22. IBActions類擴展
- 23. 擴展PDO類
- 24. 擴展基類
- 25. 擴展PsCredential類
- 26. ruby類擴展
- 27. 類擴展CSS
- 28. PHP類擴展
- 29. 擴展基類
- 30. 爲擴展類