インスタンスメソッド内で、メソッドのレシーバ自身を参照するには、特別なselfという変数を使う。以下の例では、helloメソッドをhello2メソッドから呼び出している。
class HelloWorld
def initialize(myname='Ruby')
@name = myname
end
def hello
puts "Hello ,world. I am #{@name}."
end
def hello2
self.hello #インスタンスメソッドのhelloが呼ばれる
end
end
bob = HelloWorld.new('Bob')
bob.hello #=> Hello ,world. I am Bob.
bob.hello2 #=> Hello ,world. I am Bob.