From: Mikael Larsson Date: 2004-07-04T17:20:28+09:00 Subject: Beginner question Hi I wrote about Ruby a year ago, I find it intersting, so I bought "Hal Fulton's" book "the Ruby way", but I haven'thad time to read it until now. Tho book is really good, but the writer don't explain this construction (from page 81) (or I haven't found the explanation): class String def rot13 self.tr!("A-Ma-mN-Zn-z", "N-Zn-zA-Ma-m") end end str = "Micke" puts "#{str} become #{str.rot13()}" #Micke become Zvpxr puts "#{str} become #{str.rot13()}" #Zvpxr become Micke puts "#{str} become #{str.swapcase()}" #Micke become mICKE For me looks like we are doing some implicit inherence here, like this: class String < String def rot13 self.tr!("A-Ma-mN-Zn-z", "N-Zn-zA-Ma-m") end end Dose any one have a good explanation? Regards, Mike