我有一个Ada程序来计算从文件中取得的200个值的平均值和标准差,并且它们都能正常工作。这些包是浮动类型,如何将它们变成泛型?如何在Ada中打包一个通用包?
平均包广告的文件是:
with Text_IO;
package avg is
type int_array is Array (1..200) of integer;
function avrage (ParArray: int_array) return float;
end avg;
,平均包体:
with Text_IO;
WITH Ada.Integer_Text_IO; USE Ada.Integer_Text_IO;
package body avg is
function avrage (ParArray: int_array) return float is
result: float :=0.0;
final:float :=0.0;
myarray: int_array:=ParArray;
begin
for v in myarray'Range loop
result:= result + float(myarray(v));
end loop;
final:=result/200.0;
return final;
end avrage;
end avg;
我用“与”和“使用”调用这个包在我的主程序。请告诉我该怎么办
你为什么'用with上Text_Io;'当你不指任何在'Text_IO'中声明的东西? –
为什么你使用'avg'和'avrage'?为什么不使用'Average'和'Mean'(或者'Statistics'和'Mean')?为什么你将'ParArray'复制到'myarray'? –
,因为我被告知我无法修改参数数组,所以我刚刚在函数中创建了一个本地数组,并使其返回本地数组。 @SimonWright –