Document beginless, endless ranges in Range class documentation

This commit is contained in:
Jeremy Evans 2022-04-25 13:07:35 -07:00
parent 9e8841e592
commit f8724987db
1 changed files with 10 additions and 1 deletions

11
range.c
View File

@ -2108,7 +2108,7 @@ range_count(int argc, VALUE *argv, VALUE range)
*
* Range.new(1, nil) # => 1..
*
* The literal for an endless range may be written with either two dots
* The literal for an endless range may be written with either two dots
* or three.
* The range has the same elements, either way.
* But note that the two are not equal:
@ -2135,6 +2135,15 @@ range_count(int argc, VALUE *argv, VALUE range)
* end
* a # => [2, 4, 6, 8, 10]
*
* A range can be both beginless and endless. For literal beginless, endless
* ranges, at least the beginning or end of the range must be given as an
* explicit nil value. It is recommended to use an explicit nil beginning and
* implicit nil end, since that is what Ruby uses for Range#inspect:
*
* (nil..) # => (nil..)
* (..nil) # => (nil..)
* (nil..nil) # => (nil..)
*
* == Ranges and Other Classes
*
* An object may be put into a range if its class implements