Why is Ruby dubbed "Dynamic"?

def test_adding_methods res = "I'm a mutant-to-be String" res2= "I'm a not-to-mute String" puts "1: #{res}" def res.say_hello(num) #This method is only defined for 'res' object return "#{self} -- #{num*3}!!!" end puts "2: #{res.say_hello(4)}" # Just to make it clear: # 'res2' did NOT get the newly created method! begin puts "3: #{res2}" puts "Another String: #{res2.say_hello(4)}" rescue puts "I failed, because this method does not exist!" end end