Method: Array#replace_array
- Defined in:
- lib/extra_lib/core_ext/array.rb
#replace_array(match_array, replace_arry) ⇒ Object
replaces matched array match_array as replace_array if the array contains all elements and with same sort
Example: [1, 5, 3, 4, 2].replace_array([5,3],["3", "5"]) #=> [1, "3", "5", 4, 2]
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/extra_lib/core_ext/array.rb', line 51 def replace_array(match_array, replace_arry) array = [] match_array self.each_index{|i| if self[i].eql?(match_array.first) and self.slice(i, match_array.count).eql?(match_array) array.concat self.first(i) array.concat replace_arry array.concat self.drop(i + match_array.count) break end } array = self if array.empty? array end |