我有一个函数可以对记录数组中的某个数值进行平均。该值可以是自然类型增量,也可以是枚举类型增量。我让它正确地总结了这些值,但我的问题是:如何将数组的长度转换为通用类型,以便它可以除以整数和增量类型数字?
在记录数组上使用“长度”属性;这样做的优点是即使你的界限有点奇怪(例如 -18..3)或枚举(例如奶酪..水果),它也始终有效。
就像是:
Function Average( Input : In Array_of_Records ) Return float is
-- You say you already have a summation function, so...
Sum : Natural:= Summation( Input );
Begin
Return Sum / Input'Length;
End Average;
您可能需要通过使用 Float(Sum) 等来转换数字类型,因为 Ada 没有自动类型“促销”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)