我最近發現,在Ruby中動態創建對象和方法是相當有用的,這可能是因爲我在Javascript中的背景經驗。如何在Javascript中動態創建對象及其方法?
在Javascript中你可以動態創建對象和它的方法如下:
function somewhere_inside_my_code() {
foo = {};
foo.bar = function() { /** do something **/ };
};
如何(在JavaScript一樣簡單)實現在紅寶石上述表述的相同呢?
當你編程Ruby時,你可能不應該嘗試移植你的JS方法。語言具有完全不同的對象模型,將會出現模式不匹配的情況。 –
這是正確的,謝謝提醒。我只需要在我的應用程序中使用一個簡單的對象,這個對象只能在一個單獨的動作中使用,也許主要的原因是我不想以程序化的方式來完成它,它很笨拙。 :D –
然後你應該看看[OpenStruct](http://ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html)。 –