発端
クラスオブジェクトに対してmethods
を呼び出した時、クラスメソッドもインスタンスメソッドも返ってくるのかと思っていたら違った。
version
Ruby 2.5.5
違いまとめ
※ご指摘を受けて少し編集しました
class -> クラスオブジェクト、instance -> インスタンスオブジェクト
縦メソッド/横レシーバ | クラスオブジェクト | インスタンスオブジェクト |
---|---|---|
methods | クラスメソッド | インスタンスメソッド |
instance_methods | インスタンスメソッド | NoMethodError |
おまけ: 返り値の公開レベル
| メソッド | 公開レベル |
|:-----------------|------------------:|:------------------:|
| methods | public、protected | This |
| instance_methods | public、protected | column |
| private_methods | private | will |