Method: Enumerable#take_while
- Defined in:
- ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb
#take_while(&block) ⇒ Object
call-seq:
enum.take_while {|arr| block } -> array
enum.take_while -> an_enumerator
Passes elements to the block until the block returns nil or false, then stops iterating and returns an array of all prior elements.
If no block is given, an enumerator is returned instead.
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } #=> [1, 2]
86 87 88 89 90 91 92 93 94 95 |
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb', line 86 def take_while(&block) return to_enum :take_while unless block ary = [] self.each do |*val| return ary unless block.call(*val) ary << val.__svalue end ary end |