ruby 語言在抽象層面有了元程式設計支援,功能相當強大,如果業務模型有很大的相似性,相信元程式設計會讓你節省大量**。
舉乙個小例如下,(這裡只是使用了乙個class_eval , 還有instance_eval, module_eval, function.parameters等大量方法可以呼叫)
那麼可以設計如下乙個類, 實現此功能。
puts "notice container elements as follows"
@container.each
endclassdef
new_cls
endend
執行結果如下:
Ruby元程式設計學習
1.ruby元程式設計的含義 ruby中的元程式設計,是可以在執行時動態的操作語言結構 如類 模組 例項變數等 的技術。你甚至可以在不用重啟的的情況下,在執行時直接鍵入一段新的ruby 並執行他。ruby的元程式設計,也具有 利用 來編寫 的作用,例如,常見的attr accesstor等方法就是如...
ruby元程式設計 類定義
1 類是乙個增強的模組,所以所有類定義中的特性都同樣適用於模組定義。2 ruby程式中總是存在乙個當前物件 self,類似地,也總有乙個當前類或模組存在,當定義乙個方法時,該方法將成為當前類的乙個例項方法。3 當通過class關鍵字開啟乙個類時,這個類就成為當前類。4 module class ev...
Ruby單例元程式設計
class eval不是所有物件都通用的,事實上它作為單例方法被定義在模組類中,所以它只可以被模組或者單例使用。當你在模組中使用這個方法時,它還有乙個別名 module eval,這個別名可以讓你的 看上去更加簡潔易懂,不過這兩個方法在功能上沒有任何區別。有乙個簡單方法去判斷這些eval方法的上下文...