Универсальная подпрограмма, получающая тип из пакета, реализующего Ada.Iterator_Interfaces, чтобы воспользоваться преимуществами Ada 2012 для.. in/of синтаксиса цикла

Как я понимаю, все, что реализует Ada.Iterator_Interfaces, может использовать Ada 2012 для синтаксиса цикла. "for ... [in|of] .. loop .. end loop;

Как мне создать общую подпрограмму, которую я могу создать с типом в пакете, который реализует Ada.Iterator_Interfaces? и тогда можно будет выполнить итерацию этой подпрограммы по этому типу с помощью цикла Ada 2012 for.

В Java это может выглядеть так:

public String join(Iterable<String> collection) {
   for (item : collection){
     //do stuff
   } 
}

Например (хотя и не единственный случай) классическая функция соединения, которая может принимать любой итеративный контейнер, содержащий строки, и возвращать все строки, объединенные вместе в списке строк. например.

my_container = ["a","b","c"]
join(my_container) = "abc"

Спасибо

Matt

0 ответов

Другие вопросы по тегам