私はRubyの初心者で、Rubyの文字列で特定の文字を次のように取得しようとしています:
string1 = "ohhideraaaa"
puts string1[0]
「o」ではなく111を返しています。私は本当にばかげたことをしていると確信しています。誰かがそれが何であるか分かりますか?
最善の解決策は、現在の安定版リリースである Ruby 1.9.3 にアップグレードすることだと思います。あなたは明らかに1.8.xを使用しており、あなたのような式はその位置にある文字のコードを返しますが、1.9.xではその位置にある1文字の部分文字列を返します。これはあなたが望むものです。
アップグレードがオプションではない場合、または Ruby 1.8.x に固執したい場合は、長さも指定することで、文字コードではなく部分文字列を与えるように説得できます (この場合は1
):
puts string1[0,1]