Ada generics at run-time

2019-01-27 10:51发布

问题:

How would you instantiate a generic at runtime instead of at compile time. Example without using new.

回答1:

You cannot do this without use of new . You can do it in any declarative section, however that generic will only be extant for the duration of the scope of that declaritive section.

for example (not compiled ada-like pseudocode):

get(length)
declare
   package stack is new stack_generic (max_stack_size => length);
begin
   stack.push();
   ...
end;
-- stack package no longer in scope. 

Does this help ?