御回答ありがとうございます。阿部です。

matz / ruby-lang.org (Yukihiro Matsumoto) wrote:
>> 「良い」とおっしゃいますが、整数が配列になるのは自然ではない
>> と思うのです。明示的に
>> 
>>   [1]
>> 
>> と書くのをお勧めします。

 あった方が良い、と思ったのは、Object#to_a が「自分自身を含む長さ 1 
の配列 ([self]) を返す」という挙動だったので、とくに行うことがないので
あれば、整数も同じ挙動をするべき…と (勝手に) 思っていたからです。
 しかし、よくよく考えてみると、Hash はキーと値の組を返したり、Time は
時間などの配列を返すので、[self] が欲しいときは、ちゃんと [self] と書
くべきなんですね。

 整数が配列になるといいなあ、と考えたもともとの話は、次のようなコード
からでした。

class Tree
  def initialize ( label, left, right )
    @label, @left, @right = label.to_a, left, right
    ...
  end
end

と、label を必ず配列に変換しておきたい場面があったのです。label に nil 
が渡されたときは @label に [] が入るようになっていてほしかったので、
to_a を使っていました。
 これまでの 1.6 で動かしていたら何も起こらなかったのですが、1.7 で動
かしてみたら警告が表示されてしまったので、「どうなっているんだろう?」
と思ったという次第なのです。

 次のように書く方が、to_a を使うよりは好ましいのでしょうか。

@label = (label.is_a?(Array))? label: [label].compact

--------
Black / 阿部 茂