Ruby-将整数转换为字符串
时间:2020-03-05 18:43:39 来源:igfitidea点击:
在Ruby中,尝试打印出String的各个元素给我带来了麻烦。我没有看到每个字符,而是看到了它们的ASCII值:
>> a = "0123" => "0123" >> a[0] => 48
我在网上看过,但找不到任何方法将原来的" 0"从中取出。我对Ruby有点陌生,我知道它一定很简单,但似乎找不到。
解决方案
回答
我们需要a [0,1]而不是a [0]。
回答
我相信这在Ruby 1.9中正在发生变化,这样" asdf" [2]会产生" d"而不是字符代码
回答
@克里斯,
这就是为String类定义[]和[,]的方式。
查看String API。
回答
或者,我们可以将整数转换为其字符值:
a[0].chr
回答
[,]运算符返回一个字符串给我们,它是一个子字符串运算符,其中[]运算符返回将ruby在打印输出时视为数字的字符。
回答
总结一下:
此行为将在1.9版中消失,在此版本中返回字符本身,但是在以前的版本中,尝试通过其字符位置引用字符串的单个字符将返回其字符值(因此," ABC" [2]返回67)
有很多方法可以从字符串返回一定范围的字符(请参见Ruby文档中的String slice方法),所有以下这些返回" C":
"ABC"[2,1] "ABC"[2..2] "ABC".slice(2,1)
我发现范围选择器是最容易阅读的。谁能说出它是否效率较低?