高橋征義です。

Masahiro Sato <msato / echem.titech.ac.jp>さん:
> ふと思ったのですが、範囲オブジェクトで
> 
> for i in 1..5 + 10..15
>   puts i
> end
> 
> for i in 1..10 - 5..7
>   puts i
> end
> 
> のようにできたら便利だと思うのですがどうでしょうか。
> 前者は1から5、10から15が出力、後者は1から4、8から10が
> 出力されるという感じです。

こんな感じでしょうか。返り値は配列になります。

class Range
  def +(a)
    self.to_a + a.to_a
  end
  def -(a)
    self.to_a - a.to_a
  end
end

Rangeは (1..5) というようにカッコでくくる必要があるかも
しれません。

高橋征義 (TAKAHASHI Masayoshi)