メモなので手抜き更新。
foo(a, b, c) というような複数の引数へ Array インスタンス [1, 2, 3] を一つずつ渡したいときは、こうやって渡せば OK。
a = [1,2,3] foo(*a)
こんなかんじ。
irb(main):001:0> def foo(a,b,c)
irb(main):002:1> p a,b,c
irb(main):003:1> end
irb(main):004:0> a = [1,2,3]
irb(main):005:0> foo *a
1
2
3
irb(main):006:0> foo a
ArgumentError: wrong number of arguments (1 for 3)
from (irb):6:in `foo'
from (irb):6