ada中变量的数据类型

Sar*_*ore 1 ada

如何在Ada中找到变量的数据类型?

例如,给定

INT : integer;
Run Code Online (Sandbox Code Playgroud)

如何为此变量打印"数据类型是整数"?

在Python中,type()可以用来查找类型.在Ada中是否有任何类似的函数来查找变量的数据类型?

ajb*_*ajb 5

Ada是一种强类型语言,当您声明变量时,您可以指定其类型.因此,函数返回变量的类型是没有用的,就像在具有无类型变量的语言中一样.该程序已经知道了类型.

如果变量X是用类型声明的T'Class,那么实际值的类型可以是T或从中派生的任何类型T.在这种情况下,您可以使用X'Tag获取值的实际类型的标记,这是获得实际类型的最接近的标记.一旦你有了标签,你可以做一些事情,比如获取类型的名称(这里有函数Ada.Tags),将它与某种类型的标签进行比较,看它是否是那种类型等等.但是Integer不是标记类型,所以你不能用'Tag在它上面就没有用了.

  • 您还可以在Derived_Type'Class`中检查`Classwide_Instance以查看实例是否为'Derived_Type`类型(当然,如果有的话,还是其派生类型之一). (3认同)