小编cic*_*ron的帖子

在Ada(2005或2012)中实现相当于java finalize块的最佳实践

Java有一个finalize块,允许在一个块离开后执行一些语句(即使引发了异常也会执行).例:

try {
  ...
} catch (Exception e) {
  ...
} finally {
  ... // any code here
}
Run Code Online (Sandbox Code Playgroud)

Ada具有允许实现Finalize操作的受控对象,但没有与java中相同的finalize块.这对于记录,关闭文件,事务等非常有用(无需为每个可能的块创建特定的标记类型).

  1. 你将如何在Ada 2005中实现这样的终结块(同时保持代码可读)?
  2. Ada 2012是否有计划允许轻松执行任何终结代码?

ada finalize

6
推荐指数
1
解决办法
1751
查看次数

如何最终确定Ada保护类型

给定Ada保护类型:

protected type A is
    procedure Foo;
    ...
private
    M : Map;
    ...
end A;
Run Code Online (Sandbox Code Playgroud)

完成受保护对象时,您将如何实现或模拟调用的Finalize过程?

基本上我需要使用受保护类型的私有成员进行一些管理(迭代某些地图等).

types protected ada

2
推荐指数
1
解决办法
695
查看次数

标签 统计

ada ×2

finalize ×1

protected ×1

types ×1