AstraRegul
Релиз 2024.08.31.00
×

4.1.1.2.8.7. Модуль вычислений

 
 
Основное назначение модуля – логико-вычислительная обработка собранных оперативных данных. Возможности модуля определяются возможностями языка Astra.Om.
 

Примечания к работе флагов обратной совместимости

 
Если Регистрозависимость исходного кода отключена (режим обратной совместимости):
Нельзя обратиться к пространству имён Variant.
Для обращения к пространству имён String используйте имя Str.
Не рекомендуется включать флаг Игнорировать правила приведения типов для деклараций, так как это может привести к потере точности данных.
Если в формуле есть операция, в которой операнды имеют недопустимый тип, и включён флаг Разрешить неявные преобразования из примитивных типов в вариант, то операнды будут приведены к типу variant, а результат выполнения операции будет VT_EMPTY (неопределённое значение).
Например, выражение 100 && 200 будет успешно скомпилировано.
Если флаг выключен, произойдёт ошибка компиляции (правильное поведение).
Если выполняется логическая операция над целыми числами и включены флаги Неявное приведение целочисленного значения к булевому и Разрешить неявные преобразования из примитивных типов в вариант, то в операции операнды будут приведены к логическому типу (а не к типу variant) и операция вернёт логическое значение true или false.
Например, в выражении 100 && 200 значения 100 и 200 будут преобразованы в true и результатом вычисления значения выражения будет true.