/* * call-seq: * str.tr(from_str, to_str) => new_str * * Returns a copy of <i>str</i> with the characters in <i>from_str</i> replaced * by the corresponding characters in <i>to_str</i>. If <i>to_str</i> is * shorter than <i>from_str</i>, it is padded with its last character. Both * strings may use the c1--c2 notation to denote ranges of characters, and * <i>from_str</i> may start with a <code>^</code>, which denotes all * characters except those listed. * * "hello".tr('aeiou', '*') #=> "h*ll*" * "hello".tr('^aeiou', '*') #=> "*e**o" * "hello".tr('el', 'ip') #=> "hippo" * "hello".tr('a-y', 'b-z') #=> "ifmmp" */ static VALUE rb_str_tr(str, src, repl) VALUE str, src, repl; { str = rb_str_dup(str); tr_trans(str, src, repl, 0); return str; }