Операторы

Sanny Builder поддерживает запись многих стандартных операций без опкодов. Компилятор анализирует обе стороны выражения и оператор между ними, чтобы подобрать правильный опкод.

В связи с особенностями языка, разные типы данных требуют разных опкодов. Например, в операции сложения двух целых чисел используется опкод, отличный от аналогичной операции с дробными числами. В некоторых случаях это требует предварительного объявления типа переменных, участвующих в выражении.

Большинство поддерживаемых операций в Sanny Builder используют лишь два операнда: один слева от оператора (LHS), и один - справа (RHS).

Присваивание

  • LHS = RHS - операция присваивания. RHS - число, переменная или строка. В присваивании LHS всегда является переменной.

  • LHS += RHS - операция сложения с присваиванием. LHS и RHS должны быть одного типа, целого или дробного. Значение LHS увеличивается на соответствующее значение RHS.

  • LHS -= RHS - операция вычитания с присваиванием

  • LHS *= RHS - операция умножения с присваиванием

  • LHS /= RHS - операция деления с присваиванием

Нижеперечисленные операции требуют расширения CLEO ({$USE CLEO} или {$CLEO}).

  • LHS = value1 + value2 - сложить два целых числа и записать результат в LHS

  • LHS = value1 - value2 - вычесть одно целое число из другого и записать результат в LHS

  • LHS = value1 * value2 - перемножить два целых числа и записать результат в LHS

  • LHS = value1 / value2 - разделить одно целое число на другое и записать результат в LHS

Сравнение

  • LHS == RHS - операция "равно". Стороны должны иметь одинаковое значение, чтобы результат был истиной (true).

  • LHS > RHS - операция "больше чем"

  • LHS >= RHS - операция "больше либо равно"

  • LHS < RHS - операция "меньше чем"

  • LHS <= RHS - операция "меньше либо равно"

  • LHS <> RHS - операция "не равно". Стороны должны иметь разные значения, чтобы результат был истиной (true).

В языке нет отдельного типа Boolean. Результат каждого сравнения имеет значение только в пределах текущего условного выражения.

Побитовые операции

Игра не поддерживает побитовые операции, поэтому для их использования нужен особый плагин CLEO. Кроме того, в исходном коде при помощи директивы {$USE bitwise} должно быть подключено соответствующее расширение.

FPS-независимое сложение и вычитание

Игра поддерживает операции сложения и вычитания, которые не зависят от FPS. Прочитайте статью на GTAMods.com чтобы узнать больше.

Конвертация типов

Некоторые значения могут быть сконвертированы в другой тип. Игра поддерживает перевод между типами Integer и Float.

Использование оператора =# требует, чтобы тип обеих переменных был объявлен заранее.

Last updated