2

私はRubyの初心者で、Rubyの文字列で特定の文字を次のように取得しようとしています:

string1 = "ohhideraaaa"
puts string1[0]

「o」ではなく111を返しています。私は本当にばかげたことをしていると確信しています。誰かがそれが何であるか分かりますか?

4

2 に答える 2

1

最善の解決策は、現在の安定版リリースである Ruby 1.9.3 にアップグレードすることだと思います。あなたは明らかに1.8.xを使用しており、あなたのような式はその位置にある文字のコードを返しますが、1.9.xではその位置にある1文字の部分文字列を返します。これはあなたが望むものです。

アップグレードがオプションではない場合、または Ruby 1.8.x に固執したい場合は、長さも指定することで、文字コードではなく部分文字列を与えるように説得できます (この場合は1):

puts string1[0,1]
于 2012-11-22T02:40:11.223 に答える
0

使用.chr:

puts string1[0].chr

この.chrメソッドは、ASCII 整数値を文字に変換します。

于 2012-11-22T02:34:32.623 に答える