gsub not working throughout code snippet

gsub, ruby

Solution

When you first use gsub you are assigning it to paragrah

paragraph = paragraph.gsub("ch","tj")

The second time you are missing the assignment

change `paragraph.gsub("x","ks")` to

paragraph = paragraph.gsub("x","ks")

Problem

Using this code example ``` #!/usr/bin/ruby paragraph = "champion xylophone excellent" paragraph = paragraph.gsub("ch","tj") words = paragraph.split(/ /) words.each do |word| if word[0,1] == "x" word[0.1] = "z" end end paragraph = words.join(" ") paragraph.gsub("x","ks") print paragraph ``` The output will be 'tjampion zylophone excellent' rather than 'tjampion zylophone ekscellent' The same applies if the gsub is applied within the each to the individual words. I don't understand why it acts at the beginning but not at the end. Edit Second case is a distinct issue from the first: ``` #!/usr/bin/ruby paragraph = "champion xylophone excellent" paragraph = paragraph.gsub("ch","tj") words = paragraph.split(/ /) words.each do |word| if word[0,1] == "x" word[0.1] = "z" end word = word.gsub("x","ks") end paragraph = words.join(" ") print paragraph ```

Original source