From: Derek Cannon Date: 2010-03-26T11:49:43+09:00 Subject: Creating a gsub! method for Arrays I'm new to Ruby. I'm trying to add a method to the Array class that adds the functionality of gsub! to arrays. Looking around the internet, I found a keyword know as detect { } which allows me to get the elements of the array. Testing it, I find the following code: class Array def test detect { |x| puts x} end end ...prints out all the elements in the array. However, when I try: class Array def gsub!(pattern, replacement) detect { |x| x.gsub!(pattern, replacement) } end end ...the result is only a modification of the first element in the array. For example, the following code: x = ["Hello", "there", "world", "how", "are", "you?"] x.gsub!(/[aeiou]/, "_") puts x outputs only: H_ll_ there world how are you? Does anyone know what I'm doing wrong? -- Posted via http://www.ruby-forum.com/.