在Ruby中获取ith字符的ASCII值而不是字符

时间:2012-11-22 02:31:41

标签: ruby string

我是Ruby的初学者,我正试图在Ruby中的字符串中获得某个字符,如下所示:

string1 = "ohhideraaaa"
puts string1[0]

它返回111而不是“o”。我确定我做的事情非常愚蠢,有没有人知道它是什么?

2 个答案:

答案 0 :(得分:1)

我认为最好的解决办法是升级到目前稳定版本的Ruby 1.9.3;您显然使用的是1.8.x,其中的表达式与您的returns the code of the character at that position类似,但在1.9.x中,它是returns a substring of one character at that position,这就是您想要的。

如果升级不是一个选项,或者你更愿意坚持使用Ruby 1.8.x,你可以通过指定长度来说服它给你一个子字符串而不是字符代码(在你的情况下,{ {1}}):

1

答案 1 :(得分:0)

使用.chr

puts string1[0].chr

.chr方法将ASCII整数值转换回字符。