Ruby元程式設計學習

2022-07-14 09:15:06 字數 953 閱讀 1806

1. ruby元程式設計的含義:

ruby中的元程式設計,是可以在執行時動態的操作語言結構(如類、模組、例項變數等)的技術。你甚至可以在不用重啟的的情況下,在執行時直接鍵入一段新的ruby**,並執行他。 ruby的元程式設計,也具有「利用**來編寫**」的作用,例如,常見的attr_accesstor等方法就是如此。

-- 摘自ruby元程式設計

2. ruby元程式設計常見的使用:

ruby元程式設計技術(ruby metaprogramming techniques)

3. ruby基礎知識:

ruby教程

4. ruby元程式設計5種匿名類的方法:

1#1

2class

rubyist

3def

self.who4"

geek"5

end6

end78#

29class

rubyist

10class

<11def

who12

"geek"13

end14

end15

end1617#

318class

rubyist

19end

20def

rubyist.who21"

geek"22

end2324#

425class

rubyist

26end

27rubyist.instance_eval do

28def

who29

"geek"30

end31

end32 puts rubyist.who #

=> geek

3334#5

35class

<36def

who37

"geek"38

end39 end

Ruby 元程式設計

ruby 語言在抽象層面有了元程式設計支援,功能相當強大,如果業務模型有很大的相似性,相信元程式設計會讓你節省大量 舉乙個小例如下,這裡只是使用了乙個class eval 還有instance eval,module eval,function.parameters等大量方法可以呼叫 那麼可以設計如...

ruby元程式設計 類定義

1 類是乙個增強的模組,所以所有類定義中的特性都同樣適用於模組定義。2 ruby程式中總是存在乙個當前物件 self,類似地,也總有乙個當前類或模組存在,當定義乙個方法時,該方法將成為當前類的乙個例項方法。3 當通過class關鍵字開啟乙個類時,這個類就成為當前類。4 module class ev...

Ruby單例元程式設計

class eval不是所有物件都通用的,事實上它作為單例方法被定義在模組類中,所以它只可以被模組或者單例使用。當你在模組中使用這個方法時,它還有乙個別名 module eval,這個別名可以讓你的 看上去更加簡潔易懂,不過這兩個方法在功能上沒有任何區別。有乙個簡單方法去判斷這些eval方法的上下文...