文字列配列の初期値は "" ではない特別な値が入っています。 でも "" と同値判定では 1 を返す def f x,y end に対して f 0, などと呼び出すと y は参照できない何か(未初期化状態?)になります。