メタプログラミングRuby第1章を読んだ

メモ

  • メソッド探し
    • メソッドが呼び出されたら参照先を探しに行く
    • 参照先クラスに無いときはスーパークラスを辿る
  • クラスとmodule
    • moduleがincludeされているとき、includeされているクラスの後にmoduleを探しに行き、その後でスーパークラスに行く
    • 複数のmoduleがincludeされているとき、後にincludeされたmoduleが優先
  • 探す順序はクラスのancestorsメソッドで確認できる
irb(main):001:0> Integer.ancestors
=> [Integer, Numeric, Comparable, Object, Kernel, BasicObject]

ancestorの意味・使い方・読み方 | Weblio英和辞書


メタプログラミングRuby

メタプログラミングRuby