Not sure why you would want to do this in the first place since you can get character at any place in a string with:
"abc".chr == "a"
"abc"[0] == "a"
"abc"[-1] == "c"
If you really want to add methods to a string create a module:
module MyStringExtensions
def a
chr
end
def b
self[-1]
end
end
You can then extend string instances with the module to augment them:
"abc".extend(MyStringExtensions).a # "a"
You can also monkeypatch the String class if you really want to:
String.include(StringExtensions)
Using a module is generally better then reopening someone elses class as it gives a better stack trace for debugging.