Итераторы в Аде - PullRequest
       7

Итераторы в Аде

2 голосов
/ 04 ноября 2010

Как я могу написать итератор в процедуре?Извините за мой вопрос свалки, я новичок.Спасибо за ответы.

Ответы [ 5 ]

4 голосов
/ 04 ноября 2010

Это полностью зависит от того, что вам нужно повторить.

массив? Используйте цикл : обычный, для или во время.

Один из предопределенных контейнеров ? Используйте объявления итератора, связанные с контейнером.

Строка? Относитесь к нему как к массиву.

Было бы полезно, если бы вы предоставили больше подробностей о том, что вы пытаетесь достичь.

3 голосов
/ 04 ноября 2010
2 голосов
/ 20 мая 2014

С тех пор, как был задан этот вопрос, вышла Ада 2012, которая теперь имеет надлежащую поддержку пользовательских итераторов. Теперь вы можете сказать:

for i of Some_Random_Object loop
  -- do stuff with i
end loop;

Подробности здесь и здесь .

2 голосов
/ 05 ноября 2010

Вы можете проверить обоснование Ada 95.Там есть пример итератора, который вы можете использовать в качестве отправной точки.Смотрите здесь: http://www.adahome.com/LRM/95/Rationale/rat95html/rat95-p2-3.html#7

0 голосов
/ 10 декабря 2011

Ну, как говорили другие, это зависит ...

Лично в моем текущем проекте я довольно часто занимаюсь такими вещами:

...