引数の評価は戻り値にならない
rubyのメソッドではreturnを書かずとも、最後に評価された値が返る仕様らしく
def func(a, b, c)
d = a + b + c
end
hoge = func(4, 9, 2)
p hoge # 15 と表示される
となる。
また、この仕様とは別に、
引数にデフォルト値を設定できるらしく
def func(a, b, c =2)
d = a + b + c
end
hoge = func(4, 9)
p hoge # 15 と表示される
で、疑問に思ったのが、引数の評価自体はメソッドでの評価に含まれるのかということ。
もし含まれるのであれば、
で
2
とか表示されるのかな、と思ったら、答えは
でした。
まあ、引数の評価ももしメソッド内の評価に含まれるのであれば、デフォルト値を設定せずとも
引数をちゃんと渡した場合もその評価は発生するわけだから、
デフォルト値の機能とは直接関係ないか。
とひとりごとを言ってみる。