2012-11-25 24 views
2

我一直在使用Ruby和它的許多Web框架大約一年。Ruby中元編程的常見/值得注意的用途是什麼?

我知道rails主要是使用'元編程'構建的。儘管我試圖檢查來源,但往往不是全部都是有道理的。

我想發佈一個小寶石,並使用了一些方法,如_sendinstance_evalclass_eval這是很酷,但作爲一般原則,我們被告知呆在遠離eval在它的各種形式。

其他編程結構我知道我可以在哪裏使用。就像應用程序中的數據序列化一樣,或者在製作Web應用程序時,我可以/應該實現Builder模式。

我的問題是兩個部分:

  1. 什麼是用於其元編程的通用或易於使用情況/編程的問題?
  2. 當使用ruby的元編程位時,我應該遵循哪些最佳實踐?
+2

Steven Harms的[此演示文稿](http://www.youtube.com/watch?v=s1MJh4VhrKM)非常值得關注。 –

+1

元編程對於ruby來說是如此不可或缺,你甚至可以在沒有意識到的情況下定期做它。定義方法的方法?所有形式的「eval」?它在紅寶石中隨處可見。 – numbers1311407

+0

@ZachKemp +1對於那個視頻伴侶 - 非常有幫助! –

回答

2

您有沒有使用attr_accessor?然後你已經使用元編程:它是一種生成方法的方法。

1

我發現元編程主要是庫API的領域。在創建最終用戶應用程序時,您通常不會直接使用它。但你可以肯定,你的應用程序所依賴的許多寶石會廣泛使用它。 Rails就是一個很好的例子。它使用了大量的Ruby元編程技術來完成所有Rails魔術。

相關問題