まくまくRubyノート
複数の戻り値を返す関数を定義する
2011-10-03

関数で配列を return することで、複数の戻り値を返したのと同様なことを行えます。

def foo
  return [100, 200, 300]
end

下記のように省略して書くことができます。

def foo
  return 100, 200, 300
end

呼び出し側では、配列で受け取ることもできるし、多重代入を利用して、それぞれの値を別々に受け取ることもできます。

arr = foo()        # arr=>[100, 200, 300]
x, y, z = foo()    # x=>100, y=>200, z=>300
2011-10-03