Ruby セルフメソッド

インスタンスメソッド内でselfを使うとそのメソッドを使用してるインスタンス自身を参照していることになるので

self.instance_methodとなっている場合は、クラス名を確認すれば意味がわかり易いと思う

 

例えばHogeクラスのインスタンが初期化時に配列で

@monsters = ["ゴジラ","もすら","がめら"]を持っていたとして

またゲッターを

def monsters

  @monsters

end

と定義していたとして

 

.self.monsters.each do |monster|

  puts "#{monster}"

  end

とすれば一覧を表示してくれるはずだし、

 

@monsters = []

に別にあるMonsterクラスからインスタンスをもらってきているなら、

puts "#{monster.name},#{monster.height},#{monster.weight}"などどインスタンの情報を表示させることもできるはずである