lib/lite/ruby/safe/array.rb in lite-ruby-1.1.1 vs lib/lite/ruby/safe/array.rb in lite-ruby-1.1.2
- old
+ new
@@ -4,9 +4,17 @@
def deep_dup
map(&:deep_dup)
end
+ def extract!
+ return to_enum(:extract!) { size } unless block_given?
+
+ extracted_elements = []
+ reject! { |element| extracted_elements << element if yield(element) }
+ extracted_elements
+ end
+
def from(position)
self[position, size] || []
end
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength