[Ruby] 複数の戻り値を返す(風

by tanabe on May 28, 2005

Rubyメモ。

引用元はFAQ

5.14 メソッドから複数の戻り値を返すことはできますか

Rubyでは,メソッドの戻り値は一つしか指定できませんが,配列を使うことに よって,複数の戻り値を返すことができます.

return 1, 2, 3

とすると配列が返されます.つまり,

return [1, 2, 3]

とするのと同じです.

さらに多重代入を利用すると,複数の戻り値を戻すのとほとんど同じことができ ます.たとえば,

def foo
return 20, 4, 17
end

a, b, c = foo
print "a:", a, "\n" # -> a:20
print "b:", b, "\n" # -> b:4
print "c:", c, "\n" # -> c:17

こんなことができるわけです.