青山です。

Sat, Mar 06, 1999 at 03:26:09AM +0900 において
Yukihiro Matsumoto さん曰く:

> サイズ? Array#sizeとかで分かると思うんですが.

変数に入れた場合は出来ますけれどね。a = [1,2,3,4,5]; a[0..(a.size-3)]
ただ、[1,2,3,4,5][0..-2] とかの場合に -2 等を使わざるをえないのは、そ
の範囲指定の時に自身のサイズを得る方法が無い為では無いかな。と。そうい
う意味でした。

特殊な Range を用意するという方向のようですが、初心者向けに(とは限りま
せんが)通常の Range(?) での指定も出来ると結構みやすくていいように思え
たものですから。

>   p [1,2,3,4,5].indexes(1,3)               # ==> [2,4]
> 
> 現状はRangeでは指定できないですね.

あ、そのまま indexes の拡張でもいいかもしれませんね。
p [1,2,3,4,5].indexes{|last| 0..last }

> Enum#find_allと同じです.

なるほど。そうでしたか。


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>