From: "jay s." Date: 2011-05-27T00:55:46+09:00 Subject: Re: Method that mutates object /* * call-seq: * str.replace(other_str) -> str * * Replaces the contents and taintedness of str with the corresponding * values in other_str. * * s = "hello" #=> "hello" * s.replace "world" #=> "world" */ VALUE rb_str_replace(VALUE str, VALUE str2) { str_modifiable(str); if (str == str2) return str; StringValue(str2); str_discard(str); return str_replace(str, str2); } So from the looks of it the String#replace method is implemented in C, and I'm assuming the return value of rb_str_replace is VALUE? -- Posted via http://www.ruby-forum.com/.