Ruby中元编程的常见/值得注意的用途是什么?

时间:2012-11-25 02:25:36

标签: ruby web metaprogramming

我已经和Ruby及其许多网络框架合作了大约一年了。

我知道rails很大程度上是使用'元编程'构建的。虽然我试图检查来源,但通常并非所有这些都有意义。

我试图发布一个小宝石,并使用了一些方法,如_sendinstance_evalclass_eval这很酷,但作为一般原则我们被告知远离eval以各种形式出现。

其他编程结构我知道我可以在哪里使用。就像应用程序中的数据序列化一样,或者在制作Web应用程序时我可以/应该实现Builder Pattern。

我的问题分为两部分:

  1. 使用元编程的常见或适用用例/编程问题是什么?
  2. 使用ruby的元编程时,我应该遵循哪些最佳实践?

2 个答案:

答案 0 :(得分:2)

你曾经使用过attr_accessor吗?然后你使用了元编程:它是一种生成方法的方法。

答案 1 :(得分:1)

我发现元编程主要是库API的领域。在创建最终用户应用程序时,通常不会直接使用它。但是你可以肯定,你的应用所依赖的许多宝石都会广泛使用它。 Rails就是一个很好的例子。它使用了大量Ruby的元编程方法来使所有Rails魔法成为可能。