new(first, last, exclude_end = false) -> Range[permalink][rdoc]first から last までの範囲オブジェクトを生成して返します。
exclude_end が真ならば終端を含まない範囲オブジェクトを生成します。exclude_end 省略時には終端を含みます。
例: 整数の範囲オブジェクトの場合
Range.new(1, 10) # => 1..10 Range.new(1, 10, true) # => 1...10
例: 日付オブジェクトの範囲オブジェクトの場合
require 'date'
Range.new(Date.today, Date.today >> 1).each {|d| puts d }
# => 2017-09-16
     2017-09-17
     ...
     2017-10-16
例: IPアドレスの範囲オブジェクトの場合
require 'ipaddr'
Range.new(IPAddr.new("192.0.2.1"), IPAddr.new("192.0.2.3")).each {|ip| puts ip}
# => 192.0.2.1
     192.0.2.2
     192.0.2.3
例: 自作のオブジェクトの場合
MyInteger = Struct.new(:value) do
  def succ
    self.class.new(value + 1)
  end
  def <=>(other)
    value <=> other.value
  end
  def to_s
    value.to_s
  end
end
Range.new(MyInteger.new(1), MyInteger.new(3)).each {|i| puts i }
# => 1
     2
     3