メタプログラミング Ruby オブジェクトモデル

「メタプログラミング Ruby」を読み始めました。 そこで気づいた事を、適当にまとめていきまーす。

()内はページ番号を示します。

第1章オブジェクトモデル

用語 説明
イントロスペクション 言語要素に近づいて質問すること
オープンクラス 既存のクラスにメソッドを追加すること
ネームスペース Rakeのような定数をまとめるだけのモジュールのこと(P52)
クラス再訪 クラスはオブジェクトであるクラスはClassクラスのインスタンス(P47)
スコープ演算子 ::

理解したこと

  • インスタンスにメソッドはない、クラスにメソッドがある。
  • プログラムにあるすべての定数はまるでファイルシステムのようである。モジュールがディレクトリで、定数がファイル(P50)
  • requireとloadの主な違い
  • モジュールの定義1 module -> class -> method
  • モジュールの定義2 module -> method
条件  require load
同じファイルの実行 何度実行しても一度しか実行しない 実行された回数だけ実行する。
ファイルの拡張子(.rbなど)を省略 自動的に補完する 補完しない

ギリ理解したこと

  • Rubyの*class*キーワードは、クラス宣言というよりもスコープ演算子のようなものである。
comments powered by Disqus