Symbol unárního operátoru *
zastupuje dva unární operátory splat a unsplat. Pokud je použit při definici metody, má význam operátoru unsplat. Způsobí že do argumentu označeném tímto operátorem, který musí být posledním argumentem, se dosadí pole vytvořené ze všech zbylých argumentů při volání metody.
def bar first, *rest p first, rest end bar 1,2,3,4
$irb
irb(main):001:0>def bar prvni, *zbytek
irb(main):002:1>p prvni, zbytek
irb(main):003:1>end
nil irb(main):004:0>bar 1,2,3,4
1 [2, 3, 4] nil irb(main):005:0>bar 1
1 [] nil irb(main):006:0>
Při volání metody však funguje opačne, jako operátor splat
def foo a, b p a, b end foo *['don', 'key'] # je to samé jako foo 'don', 'key'