Ranges
What Is a Range in Ruby?
The Range class is a built-in Ruby object. Its instances (ranges) denote sequential collection of values with a indicated beginning and end.
Initializing Ranges
An instance of the Range class can be created with a new method but more often literals - .. and ... are used. A range initialized with .. includes the end value and the range initialized with ... does not.
1..5 # Includes values 1, 2, 3, 4 and 5.
(1..5).to_a # => [1, 2, 3, 4, 5]
1...5 # Includes values 1, 2, 3 and 4.
(1...5).to_a # => [1, 2, 3, 4]Out-of-the-box ranges can also be initialized with letters as underlying values instead of integers.
'a'..'e' # Includes values 'a', 'b', 'c', 'd' and 'e'.<=>
Ranges can be initialized for any Ruby objects that are capable of being compared with <=> operator.