けいじゅ@SHLジャパンです. 

In [ruby-list :00311 ] the message: "[ruby-list:311] Re: Request for
array ", on Jul/19 16:42(JST) matz / caelum.co.jp (Yukihiro Matsumoto)
writes:

>これは….ちょっと考えさせてください.というのもperlと違って
>rubyではnilも立派な値なので,
>
>  [ nil, nil, nil ]
>
>はしっかり3要素の配列になります.3つも要素が入っている配列
>(lengthも3を返す)をemptyと言ってしまって良いのか,という点に
>ついて戸惑いがあります.

いや. 良く分かります. Arrayは配列ですからねえ. nilも要素であることは認
めます. 

私が, 配列をOrderedCollectionの代わりに使っているところに問題があるの
でしょう.

>とはいえ,
>
>  ary = [1,2,3]
>
>としたとき,ary[100]の値がnilだったり(配列は拡張されない),
>
>  ary[5] = 4
>
>とするとaryが
>
>  [1,2,3,nil,nil,4]

>になったり(すき間にnilを入れる),石塚さんのおっしゃることが
>まるで意味の無いことでもないような仕様であることも事実です.
>もうちょっと説得してくださるとその気になるのですけど….

確かに, このへんの使い方に関して, 配列は難しいところがありますね.

ary = []
ary[100] = nil
ary.size -> 101

となりますしね.

非nilの要素数を数えるメソッドを用意するというのはいかがでしょうか?

PS.
早く最新版の ruby.info を用意して下さい. 会社では web からマニュアルが
見れますが, 自宅からでは読むことができませんので...

__
..........................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----