You know, you can always type:

s = 'Hello World'
puts s[1,s.length - 1]

Maybe that's a bit wordy for you?  I think Ruby's use of [] really
follows convention that you are accessing an index.  That is what most
programmers think of when they see [].  If you provide a single
Fixnum, one would expect you would get back the contents of that
index, and since strings are arrays of characters, that is what you
are indeed getting back.