Method: Array#select!
- Defined in:
- ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb
#select!(&block) ⇒ Object Also known as: filter!
call-seq:
ary.select! {|item| block } -> ary or nil
ary.select! -> Enumerator
Invokes the given block passing in successive elements from +self+,
deleting elements for which the block returns a +false+ value.
If changes were made, it will return +self+, otherwise it returns +nil+.
See also Array#keep_if
If no block is given, an Enumerator is returned instead.
764 765 766 767 768 769 770 771 772 773 774 775 776 777 |
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb', line 764 def select!(&block) return to_enum :select! unless block result = [] idx = 0 len = size while idx < len elem = self[idx] result << elem if block.call(elem) idx += 1 end return nil if len == result.size self.replace(result) end |