メソッドから複数の戻り値を返す
メソッドを書いてて、return値の他に文字列も返したいよね、Cだったら文字列引数にそのままセットしちゃうとこだよな、ということがあります。
そういうとき、Rubyでは、Arrayを返すことで複数の戻り値を返すことができます。
- return 1, "2a", 3
- return [1, "2a", 3]
- [1, "2a", 3]
いずれも同じように Arayを返しますが、returnも[]を付けないでいきなり「1, "2a", 3」とやると当たり前ですが「syntax error, unexpected ','」で怒られます。
なお、この(↓)ような多重代入を利用すると、激しく便利です。
def foo return 20, 4, 17 end a, b, c = foo # a=20 b=4 c=17
参考
- こちら(→プログラミング言語 Ruby リファレンスマニュアル)にこのような初心者向けTipsがあります。