私は、手続きや関数とエイダにシンプルなパッケージを持っています。私はすべての関数とプロシージャを保護された型にしたいと思っています。エイダ保護タイプ
シンプル.adbファイルの
package body Pack is
procedure procedure1 (B : in out Integer) is
begin
B := new Integer;
end procedure1;
procedure procedure2 (B: in out Integer) is
begin
B.Cont(B.First-1) := 1;
end procedure2;
function procedure3 (B : Integer) return Boolean is
begin
return B.First = B.Last;
end procedure3;
end pack;
およびまたは単純な.ads
package body Pack is
procedure procedure1 (B : in out Integer);
procedure procedure2 (B: in out Integer);
function procedure3 (B : Integer) return Boolean;
end pack;
は、どのように私はそれに行きますか?
このコードはコンパイルからの長い道のりです。 'procedure1'では、Bは' Integer'として宣言されますが、次にそれにアクセス値を割り当てます( 'new Integer')。そして、他の2つのサブプログラムでは、Bがレコード型のように見えます。予約語 'body'はパッケージ仕様に現れません。 –
1>これは有効なAdaコードではありません。 2>並行処理で保護された型を意味しましたか? http://en.wikipedia.org/wiki/Ada_%28programming_language%29#Concurrency – NWS