2

私は約 1 年間、Ruby とその Web フレームワークの多くを扱ってきました。

Rails は主に「メタプログラミング」を使用して構築されていることを認識しています。ソースを調べてみましたが、多くの場合、すべてが理にかなっているとは限りません。

私は小さな宝石を公開しようとし_sendました.instance_evalclass_evaleval

使用できる場所を知っている他のプログラミング構造。アプリケーションでのデータのシリアル化や、Web アプリを作成するときに Builder パターンを実装できる/実装する必要がある場所など。

私の質問は2つの部分に分かれています:

  1. メタプログラミングが使用される一般的または適切なユースケース/プログラミングの問題は何ですか?
  2. Ruby のメタプログラミング ビットを使用する場合、従うべきベスト プラクティスは何ですか?
4

2 に答える 2

2

使ったことがありますattr_accessorか?次に、メタプログラミングを使用しました。これは、メソッドを生成するメソッドです。

于 2012-11-25T10:51:50.533 に答える
1

メタプログラミングは主にライブラリAPIのドメインであることがわかりました。多くの場合、エンドユーザーアプリケーションを作成するときに、その多くを直接使用することはありません。しかし、確かに、アプリケーションが依存する多くの宝石は、それを広範囲に使用します。Railsは完璧な例です。これは、Rubyのメタプログラミングチョップを大量に使用して、Railsの魔法をすべて可能にします。

于 2012-11-25T11:35:38.677 に答える