=>"0123"
>> a0
=> 48我在网上看过,但找不到任何方法将原来的" 0"从中取出。 我对Ruby有点陌生,我知道" /> =>"0123"
>> a0
=> 48我在网上看过,但找不到任何方法将原来的" 0"从中取出。 我对Ruby有点陌生,我知道" /> =>"0123"
>> a0
=> 48我在网上看过,但找不到任何方法将原来的" 0"从中取出。 我对Ruby有点陌生,我知道" />

首页 / 知识

关于数组:Ruby-将整数转换为字符串

2023-04-13 07:47:00

关于数组:Ruby-将整数转换为字符串

Ruby - Convert Integer to String

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

1
2
3
4
>> a ="0123"
=>"0123"
>> a[0]
=> 48

我在网上看过,但找不到任何方法将原来的" 0"从中取出。 我对Ruby有点陌生,我知道它一定很简单,但是似乎找不到。


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

1
a[0].chr

您需要a [0,1]而不是a [0]。


我相信这在Ruby 1.9中正在发生变化,以使" asdf" [2]产生" d"而不是字符代码


总结一下:

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

有许多方法可以从字符串返回一定范围的字符(请参见Ruby文档中有关String slice方法的信息),以下所有结果均返回" C":

1
2
3
"ABC"[2,1]
"ABC"[2..2]
"ABC".slice(2,1)

我发现范围选择器是最容易阅读的。谁能说出它是否效率较低?


[,]运算符返回一个字符串给您,它是一个子字符串运算符,其中[[]运算符返回将ruby打印出来时视为数字的字符。


@克里斯,

这就是为String类定义[]和[,]的方式。

查看String API。


我认为each_charchars可以更好地描述您想要的内容。

1
2
3
4
5
6
7
8
9
10
irb(main):001:0> a ="0123"
=>"0123"
irb(main):002:0> Array(a.each_char)
=> ["0","1","2","3"]
irb(main):003:0> puts Array(a.each_char)
0
1
2
3
=> nil


字符串数组字符元素

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢