End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Range#%
%(n) {|element| ... } → self
%(n) → enumerator
range.c
View on GitHub ↗
static VALUE
range_percent_step(VALUE range, VALUE step)
{
return range_step(1, &step, range);
}
Iterates over the elements of self.
With a block given, calls the block with selected elements of the range; returns self:
Example
a = [] (1..5).%(2) {|element| a.push(element) } # => 1..5 a # => [1, 3, 5] a = [] ('a'..'e').%(2) {|element| a.push(element) } # => "a".."e" a # => ["a", "c", "e"]
With no block given, returns an enumerator, which will be of class Enumerator::ArithmeticSequence if self is numeric; otherwise of class Enumerator:
Example
e = (1..5) % 2 # => ((1..5).%(2)) e.class # => Enumerator::ArithmeticSequence ('a'..'e') % 2 # => #<Enumerator: ...>
Related: Range#step.