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