我需要验证变量是否为某种类型。
有没有办法在Ada中检查变量的类型?
我已经尝试过查看Ada属性,但没有看到任何内容。
答案 0 :(得分:1)
Ada是一种强类型语言,所以实际上不需要函数来返回变量的类型,就像在Python或Ruby(duck typed语言)中一样,因为在声明变量时指定它的类型。该程序已经知道它的类型。
如果使用类型T'Class声明变量X,那么实际值的类型可以是T或从T派生的任何类型。在这种情况下,您可以使用X'Tag来获取值的实际值的标记类型,这是获得实际类型最接近的类型。一旦你有了标签,你可以做一些事情,比如获取类型的名称(在Ada.Tags中有这个功能),将它与某种类型的标签进行比较,看看它是否是那种类型等等。但是Integer不是标记的类型,所以你不能使用'标签就可以了,因为它是一种原始类型。