Универсальная подпрограмма, получающая тип из пакета, реализующего 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