On this page |
Смотрите также функции VEX. Большая часть работы в VEX выполняется с помощью вызовов функций. Большинство операторов представляют собой циклы, многие из которых могут быть знакомы вам из других языков, например, из языка C. Хотя print
это оператор в некоторых языках (Python 2), в VEX вы печатаете с помощью функции printf.
{}
Как в C и многих других языках, вы можете заключить несколько операторов в фигурные скобки, чтобы объединить их в отдельный блок.
Например, оператор if
может выполнять одну инструкцию:
if ( needs_zapping() ) zap()
…или несколько инструкций, объединенных в блок из фигурных скобок:
if ( needs_zapping() ) { zap() disintegrate() remove_dust() }
цикл do
do инструкция(ии) [while (условие)]
Выполняет инструкцию(ии), и затем снова выполняет пока условие истинно. В отличие от цикла while
, цикл do
гарантированно выполняет инструкцию(ии) хотя бы один раз.
цикл for
for (инициализация; условие; изменение) инструкция(ии)
Стандартный цикл for
в стиле языка C. Выполняет инструкцию(ии) инициализации, затем выполняет инструкцию(ии) повторяя до тех пор, пока условие истинно, выполняя инструкцию(ии) изменения в конце каждой итерации.
цикл foreach
foreach (значение; массив) инструкция(ии)
foreach (индекс, значение; массив) инструкция(ии)
Выполняет инструкцию(ии) для каждого элемента массива (необязательно устанавливает индекс в текущую позицию в массиве). Смотрите foreach.
цикл while
while (условие) инструкция(ии)
Выполняет инструкцию(ии) повторяя пока условие истинно.
Другие операторы циклов
Операторы forpoints, illuminance, и gather позволяют вам перебирать данные, обрабатываемые VEX.
if
if (условие) инструкция(ии)_если_истина [else инструкция(ии)_если_ложь]
Выполняет инструкцию(ии)_если_истина если условие истинно.
Если оператор else
присутствует, инструкция(ии)_если_ложь выполняется, если условие ложно.
return
Завершение работы функции с необязательным возвращением значения.
int max(int a, b) { if (a > b) { return a; } return b; }
break
Оператор break
немедленно останавливает цикл. Полезно в том случае, если оператор if
останавливает цикл раньше, чем условие будет достигнуто.
for (i = 0; i < sizes; i++) { mixamount += getAmount(roughness); if (mixamount > 1) { break; } }
continue
Оператор continue
немедленно прекращает выполнение текущей итерации и начинает следующую.
foreach (x; myarray) { if (x < 10) continue; ... }