次の Ruby コードがあるとします。
def result(b=25)
puts b
end
を呼び出すだけresult
で、25 が出力されます。これまでのところ、問題ありません。
しかし、次のように別のメソッドから呼び出したいと思います。
def outer(a,b)
#...do some stuff with a...
result(b)
end
outer(1,5)
5 を出力したいのですがouter(1)
、単純に 25 を出力します。実際には、「未定義」をresult
メソッドに渡したいのです。
これを行う方法はありますか?(悲しいことに、単純に を使用することはできませんdef outer(a,b=25)
。なぜなら、 のデフォルト値は、実際にはメソッドb
であるクラスのインスタンス変数だからです。)result