Операторы
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