Ruby - 将整数转换为字符串

Chr*_*nch 16 ruby arrays

在Ruby中,尝试打印String的各个元素给我带来了麻烦.我没有看到每个字符,而是看到了他们的ASCII值:

>> a = "0123"
=> "0123"
>> a[0]
=> 48
Run Code Online (Sandbox Code Playgroud)

我已经在线查看,但无法找到任何方法让原来的"0"退出.我对Ruby有点新意,我知道它必须是简单的东西,但我似乎无法找到它.

Jos*_*aro 15

或者您可以将整数转换为其字符值:

a[0].chr
Run Code Online (Sandbox Code Playgroud)


SCd*_*CdF 7

你想要一个[0,1]而不是一个[0].


Stu*_*art 6

我相信这在Ruby 1.9中正在改变,因此"asdf"[2]产生"d"而不是字符代码


Nat*_*itz 5

总结一下:

此行为将在版本1.9中消失,其中返回字符本身,但在以前的版本中,尝试通过字符位置引用字符串的单个字符将返回其字符值(因此"ABC"[2]返回67)

有许多方法可以从字符串返回一系列字符(请参阅String slice方法中的Ruby文档)以下所有返回"C":

"ABC"[2,1] 
"ABC"[2..2]
"ABC".slice(2,1)
Run Code Online (Sandbox Code Playgroud)

我发现范围选择器是最容易阅读的.任何人都可以谈论它是否效率较低?