我在irb中试过这个:
x = 123456
Run Code Online (Sandbox Code Playgroud)
然后我想得到一个具体的数字位置,如:
puts x[2]
Run Code Online (Sandbox Code Playgroud)
它返回0
这是为什么?
Jac*_*kin 10
唯一(明智的)方法是首先将其转换为字符串然后使用[]方法:
x_str = x.to_s
puts x_str[0..2] #prints "12"
Run Code Online (Sandbox Code Playgroud)
如果要在另一个字符串中检索字符串的位置,请使用该index方法
puts x_str.index('2') #prints 1
Run Code Online (Sandbox Code Playgroud)
Fixnum 提供[]方法,但显然不是你想要的.

在你的代码中,它返回,0因为它是二进制表示中的第3个(零索引)位123456.
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |