メソッド定義の中でメソッド定義
Rubyでは、メソッド定義の中でもメソッドを定義することができます。
以下のプログラムでは、outerメソッドの定義の中でmethodというメソッドを再定義しています。そのため、outerメソッドの呼び出し前後で、methodの戻り値が変化しています。
def method return "Yahoo!" end def outer def method return "Google" end end p method #=> "Yahoo!" outer p method #=> "Google"