--- !ruby/object:RI::ClassDescription
attributes: []
class_methods:
- !ruby/object:RI::MethodSummary
name: new
- !ruby/object:RI::MethodSummary
name: yaml_new
comment:
- !ruby/struct:SM::Flow::P
body: A Range represents an interval---a set of values with a start and an end. Ranges may be constructed using the s..e and s...e literals, or with Range::new. Ranges constructed using .. run from the start to the end inclusively. Those created using ... exclude the end value. When used as an iterator, ranges return each value in the sequence.
- !ruby/struct:SM::Flow::VERB
body: " (-1..-5).to_a #=> []\n (-5..-1).to_a #=> [-5, -4, -3, -2, -1]\n ('a'..'e').to_a #=> ["a", "b", "c", "d", "e"]\n ('a'...'e').to_a #=> ["a", "b", "c", "d"]\n"
- !ruby/struct:SM::Flow::P
body: Ranges can be constructed using objects of any type, as long as the objects can be compared using their <=> operator and they support the succ method to return the next object in sequence.
- !ruby/struct:SM::Flow::VERB
body: " class Xs # represent a string of 'x's\n include Comparable\n attr :length\n def initialize(n)\n @length = n\n end\n def succ\n Xs.new(@length + 1)\n end\n def <=>(other)\n @length <=> other.length\n end\n def to_s\n sprintf "%2d #{inspect}", @length\n end\n def inspect\n 'x' * @length\n end\n end\n\n r = Xs.new(3)..Xs.new(6) #=> xxx..xxxxxx\n r.to_a #=> [xxx, xxxx, xxxxx, xxxxxx]\n r.member?(Xs.new(5)) #=> true\n"
- !ruby/struct:SM::Flow::P
body: In the previous code example, class Xs includes the Comparable module. This is because Enumerable#member? checks for equality using ==. Including Comparable ensures that the == method is defined in terms of the <=> method implemented in Xs.
constants: []
full_name: Range
includes:
- !ruby/object:RI::IncludedModule
name: Enumerable
instance_methods:
- !ruby/object:RI::MethodSummary
name: ==
- !ruby/object:RI::MethodSummary
name: ===
- !ruby/object:RI::MethodSummary
name: begin
- !ruby/object:RI::MethodSummary
name: each
- !ruby/object:RI::MethodSummary
name: end
- !ruby/object:RI::MethodSummary
name: eql?
- !ruby/object:RI::MethodSummary
name: exclude_end?
- !ruby/object:RI::MethodSummary
name: first
- !ruby/object:RI::MethodSummary
name: hash
- !ruby/object:RI::MethodSummary
name: include?
- !ruby/object:RI::MethodSummary
name: inspect
- !ruby/object:RI::MethodSummary
name: last
- !ruby/object:RI::MethodSummary
name: member?
- !ruby/object:RI::MethodSummary
name: pretty_print
- !ruby/object:RI::MethodSummary
name: step
- !ruby/object:RI::MethodSummary
name: to_s
- !ruby/object:RI::MethodSummary
name: to_yaml
name: Range
superclass: Object