青山です。 元ネタとタイトルからすると、to_a, すなわち each の話しでもあるようなの で、こんなのも >> $/ = "&" >> "a|b|c|&d|e|f&g|g|i".to_a => ["a|b|c|&", "d|e|f&", "g|g|i"] >> $/ = "|" >> "a|b|c|&d|e|f&g|g|i".to_a => ["a|", "b|", "c|", "&d|", "e|", "f&g|", "g|", "i"] $/ 以外にも、String の each は区切りの指定が出来ますから、 string.each(rs){} と、$/ のようなトリックを使わずとも、わりと自由にア クセスできます。 という事で、こういうような気持はあっても良さそうですよね。 (Time .. Time).each(Time::hour){}, (Time .. Time).each(Time::date){} (Time .. Time).to_a(Time::hour), (Time .. Time).to_a(Time::date) 範囲に対して、何を基準にして取り出したいのか、という指定は出来て当然と いう気もしますし。 succ すなわち次とは、ある分割基準があって成り立つ物であり、分割基準は 絶対とは限らない、という事にして、succ が分割基準を扱えるようにすると いうのも手かもしれませんね。 -- 青山 和光 Wakou Aoyama <wakou / ruby-lang.org>