From: Shin-ichiro Hara Date: 1999-03-09T23:12:45+09:00 Subject: [ruby-dev:6160] Re: Range (Re: array[last..first] (Re: Subseq of Array)) 原です。 > (10..10).size == 0 > (10..10).to_a.size == 1 > > Range はポイントの集まりではなく、ポイントの数は step によって決まると > いう事です。数学でもそうですよね? グラフでいえば参照点の数はメッシュ > によって決まるような感じと思っています。 現在、each を持つこと(Enumerable)と、to_a を持つこと(Array化可能)は ほぼ同値であって、Enumerable であるオブジェクト e に対して e.size == e.to_a.size が成り立っています。 Enumerable な e に対して toa = []; e.each { |x| toa.push x } e.to_a == toa である様に to_a は定義されるわけですから。 それを破るように Range の仕様を変えることは有り得ないんじゃ ないかな。