В Ruby irb не может получить доступ к числу в массиве, как мода - PullRequest
0 голосов
/ 27 декабря 2010

Я попробовал это в irb:

x = 123456

Тогда я хотел получить конкретную позицию числа, например:

puts x[2]

возвращает 0

почему это?

1 Ответ

10 голосов
/ 27 декабря 2010

Единственный (разумный) способ сделать это - сначала преобразовать его в строку, а затем использовать метод []:

x_str = x.to_s
puts x_str[0..2] #prints "12"

Если вы хотите получить положение строки в другой строке, используйте метод index

puts x_str.index('2') #prints 1

Fixnum предоставляет метод [] , но это явно не то, что вы хотите.

alt text

В вашем коде он возвращает 0, потому что это 3-й (нулевой) бит в двоичном представлении 123456.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...