AngelScript Help

Условия

https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_statements.html#if

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

if

Используется для того, чтобы решить, выполнять или нет ту, или иную часть логики в зависимости от определенного условия.

if (A){ // Этот блок выполнится если A истинно }

Результатом выполнения условного выражения A должно быть только true или false.

else

Позволяет выполнить блок кода, если условие в if ложно.

if (A){ // Этот блок выполнится если A истинно } else { // Этот блок выполнится если A ложно }

switch

Позволяет выбирать одно из множества возможных значений переменной или выражения и выполнять соответствующий блок кода.

switch(A){ case 1: // Этот блок выполнится если A равно 1 break; case 2: // Этот блок выполнится если A равно 2 break; }

case

Значением case может быть переменная, определённая как const и значение которой может быть вычислено на этапе компиляции.

break

После первой положительной проверки в case будут выполнены все последующие блоки:

switch(A){ case 1: // Этот блок выполнится если A равно 1 case 2: // Этот блок выполнится если A равно 1 или 2 case 3: // Этот блок выполнится если A равно 1 или 2 или 3 }

Для контроля этого поведения служит break, который прерывает исполнение ближайшего switch:

switch(A){ case 1: // Этот блок выполнится если A равно 1 break; case 2: case 3: // Этот блок выполнится если A равно 2 или 3 break; case 4: // Этот блок выполнится если A равно 4 // break; в последнем блоке можно опустить ибо логика не изменится }

default

Для случая, когда не выполнился ни один case можно указать действия в блоке default:

switch(A){ case 1: // Этот блок выполнится если A равно 1 break; case 2: // Этот блок выполнится если A равно 2 break; default: // Этот блок выполнится если не выполнился ни один case break; }

В одном switch может содержаться максимум один блок default, но располагаться он может на любой позиции. Это поведение можно, к примеру, использовать с перечислениями:

enum MyEnum {A, B, C} int GetMyEnumValue(int myInt){ switch(myInt){ case MyEnum::A: return MyEnum::A; // Если myInt не является одним из значений MyEnum, используем MyEnum::B в качестве значения по умолчанию. default: case MyEnum::B: return MyEnum::B; case MyEnum::C: return MyEnum::C; } }
Last modified: 16 October 2024