2016-01-16 2 views
1

Мне нужно проверить, что переменная является определенным типом.Как проверить тип переменной

Есть ли способ проверить тип переменной в Ada?

Я пробовал смотреть на атрибуты Ады, но ничего не видел.

+2

Этот ответ поможет вам понять, почему его не нужно. http://stackoverflow.com/a/29406543/2545197 – Abhinay

+3

Возможный дубликат [Тип данных переменной в ada] (http://stackoverflow.com/questions/29405634/datatype-of-variable-in-ada) – AnthonyW

+1

Это было бы помогите опубликовать некоторый код и включите некоторый «псевдокод» или комментарий в том месте, где вы пытаетесь «проверить тип переменной». Таким образом, мы можем посмотреть на это и выяснить, имеет ли смысл то, что вы пытаетесь сделать, в Ada, и каким правильным способом это будет. – ajb

ответ

1

Ada - строго типизированный язык, поэтому нет необходимости иметь функцию, чтобы возвращать тип переменной, как есть в Python или Ruby (языки с утиным языком), потому что когда вы объявляете переменную, вы указываете ее тип. Программа уже знает свой тип.

Если переменная X объявлена ​​с типом T'Class, то тип фактического значения может быть T или любым типом, производным от T. В этом случае вы можете использовать X'Tag для получения тега значения фактический тип, который ближе всего подходит для получения фактического типа. После того, как у вас есть тег, вы можете делать такие вещи, как получение имени типа (для этого есть функции для Ada.Tags), сравнивая его с тегом какого-либо типа, чтобы увидеть, является ли он этим типом и т. Д. Но Integer не является помеченным тип, поэтому вы не можете использовать «Tag» на нем, и для него не будет необходимости, потому что это примитивный тип.

Смежные вопросы