D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
Range
/
Filename :
cdesc-Range.yaml
back
Copy
--- !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 <tt>Range</tt> represents an interval---a set of values with a start and an end. Ranges may be constructed using the <em>s</em><tt>..</tt><em>e</em> and <em>s</em><tt>...</tt><em>e</em> literals, or with <tt>Range::new</tt>. Ranges constructed using <tt>..</tt> run from the start to the end inclusively. Those created using <tt>...</tt> 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 <tt><=></tt> operator and they support the <tt>succ</tt> 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 <tt>Xs</tt> includes the <tt>Comparable</tt> module. This is because <tt>Enumerable#member?</tt> checks for equality using <tt>==</tt>. Including <tt>Comparable</tt> ensures that the <tt>==</tt> method is defined in terms of the <tt><=></tt> method implemented in <tt>Xs</tt>. 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