> I was expecting x[0] to be a one-character string.

Happens a lot

> 1) Why isn't x[0] a one-character string?

Because it returns the character value of the first character.

> 2) How do I determine what the first character of such a string is? I'm
> guessing this isn't the proper way, but I'd like to understand why it
> doesn't work.

You want to slice the string to return a substring. x[0..0] or
x[0].chr do what you want.

-- 
Phillip Hutchings
http://www.sitharus.com/