splat 引数にデフォルト値を設定すると、エラーが発生します。
1.9.3-p374 :001 > def a b, *c = nil
1.9.3-p374 :002?> end
SyntaxError: (irb):1: syntax error, unexpected '=', expecting ';' or '\n'
def a b, *c = nil
^
from /Users/me/.rvm/rubies/ruby-1.9.3-p374/bin/irb:16:in `<main>'
私が試したいくつかのバリエーションも機能しません:
1.9.3-p374 :003 > def a b, *c = []
1.9.3-p374 :005 > def a b, (*c) = nil
1.9.3-p374 :007 > def a b, (*c = [])
1.9.3-p374 :009 > def a b, (*c = [1,2,3])
1.9.3-p374 :011 > def a b, *c = [1,2,3]
ここでは不確定性の問題は見られないので、可能であるように思われます。
関連: Ruby 1.9 のメソッド定義で、非明示的なスプラット パラメータとデフォルト パラメータが間違った構文であるのはなぜですか?