Containers.Vector包定义了一些可以作为参数访问过程的过程。此过程支持一个参数。
例子:
procedure Update_Element
(Container : in out Vector;
Index : in Index_Type;
Process : not null access procedure (E : in out Element_Type));
procedure Query_Element
(Container : in Vector;
Index : in Index_Type;
Process : not null access procedure (E : in Element_Type));
是否可以在程序的E
前后合同中使用?Query_Element
Update_Element
写类似:
procedure Update_Element
(Container : in out Vector;
Index : in Index_Type;
Process : not null access procedure (E : in out Element_Type))
with Post => Element(Container,Index) = E;
导致编译错误:"E" is undefined
如果可能,该解决方案应该与 Spark 兼容。