Мне нужно проверить, что переменная является определенным типом.Как проверить тип переменной
Есть ли способ проверить тип переменной в Ada?
Я пробовал смотреть на атрибуты Ады, но ничего не видел.
Мне нужно проверить, что переменная является определенным типом.Как проверить тип переменной
Есть ли способ проверить тип переменной в Ada?
Я пробовал смотреть на атрибуты Ады, но ничего не видел.
Ada - строго типизированный язык, поэтому нет необходимости иметь функцию, чтобы возвращать тип переменной, как есть в Python или Ruby (языки с утиным языком), потому что когда вы объявляете переменную, вы указываете ее тип. Программа уже знает свой тип.
Если переменная X объявлена с типом T'Class, то тип фактического значения может быть T или любым типом, производным от T. В этом случае вы можете использовать X'Tag для получения тега значения фактический тип, который ближе всего подходит для получения фактического типа. После того, как у вас есть тег, вы можете делать такие вещи, как получение имени типа (для этого есть функции для Ada.Tags), сравнивая его с тегом какого-либо типа, чтобы увидеть, является ли он этим типом и т. Д. Но Integer не является помеченным тип, поэтому вы не можете использовать «Tag» на нем, и для него не будет необходимости, потому что это примитивный тип.
Этот ответ поможет вам понять, почему его не нужно. http://stackoverflow.com/a/29406543/2545197 – Abhinay
Возможный дубликат [Тип данных переменной в ada] (http://stackoverflow.com/questions/29405634/datatype-of-variable-in-ada) – AnthonyW
Это было бы помогите опубликовать некоторый код и включите некоторый «псевдокод» или комментарий в том месте, где вы пытаетесь «проверить тип переменной». Таким образом, мы можем посмотреть на это и выяснить, имеет ли смысл то, что вы пытаетесь сделать, в Ada, и каким правильным способом это будет. – ajb