2

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

string1 = "ohhideraaaa"
puts string1[0]

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

4

2 回答 2

1

我认为最好的解决方法是升级到当前稳定版本 Ruby 1.9.3;您显然使用的是 1.8.x,其中像您这样的表达式返回该位置的字符代码,但在 1.9.x 中,它返回该位置的一个字符的子字符串,这就是您想要的。

如果升级不是一个选项,或者如果您更愿意坚持使用 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 回答