ちょっとドキッとした
% irb irb(main):001:0> def func irb(main):002:1> return "oi" irb(main):003:1> end => nil irb(main):004:0> a=func => "oi" irb(main):005:0> p a "oi" => nil irb(main):006:0> *a=func => "oi" <----ここ irb(main):007:0> p a ["oi"] => nil
書いてることが真っ赤な嘘かと。pするとちゃんと期待どおりなので、こういうものだと思うことにしました。