Арифметика указателя массива в Ruby - PullRequest
0 голосов
/ 20 февраля 2012

Да, я знаю, что в Ruby нет указателей, но это самое близкое описание того, что я хочу сделать. В C ++ я могу увеличить указатель на массив, и он будет указывать на второй элемент массива в качестве начала (в основном, как сращивание с позиции 1 до размера 1). Есть ли подобный трюк в ruby? У меня есть набор шагов в массиве, и я хочу вызвать метод "next_step", который будет перемещать один вниз по массиву. Могу ли я сделать это без необходимости наличия другого ивара с именем step_num (текущий индекс)?

РЕДАКТИРОВАТЬ: я не могу просто склеить массив, потому что он инкапсулирован в объект, и мне нужно сохранить его таким образом. Я не хочу копий, плавающих вокруг.

1 Ответ

2 голосов
/ 20 февраля 2012

Вы можете использовать перечислитель:

a = [ 1, 2, 3 ]
e = a.to_enum

e.next    # => 1
e.next    # => 2
e.next    # => 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...