Пустая инструкция
Пустая инструкция — самая простая инструкция языка. Она состоит всего из одного символа — точка с запятой ';'.
Пустая инструкция используется в программе в тех местах, где синтаксис требует наличия инструкции, но логика алгоритма предписывает ничего не делать.
Например, следующий цикл while используется для поиска пробела в строке. Вся суть алгоритма выполняется непосредственно в заголовке цикла, так что его тело должно быть пустым. Мы могли бы написать пустой блок из фигурных скобок, но также здесь подойдёт и пустая инструкция (StmtNull.mq5).
int i = 0;
|
Обратите внимание, что если точку с запятой в конце заголовка while убрать (допустим, случайно), то инструкция if станет расцениваться как тело цикла. В результате не произойдет вывода в журнал функцией Print. Фактически, программа сработает некорректно, хотя и без заметных ошибок.
Обратная ситуация также возможна: лишняя точка с запятой после заголовка цикла (там, где она не должна была быть) "отцепит" тело цикла от заголовка, то есть в цикле будет выполняться только пустая инструкция.
В связи с этим следует проверять в коде необязательные точки с запятой, и везде, где они поставлены намеренно, оставлять комментарий с пояснениями.
Между прочим, с формальной точки зрения пустая инструкция используется и в операторе for, когда мы опускаем выражение инициализации. На самом деле инициализация есть всегда:
for ([инициализация] ; [условие окончания цикла] ; [выражение конца цикла])
|
Первый символ ';' входит в состав инструкции инициализации, которая может быть выражением или пустой инструкцией: обе содержат знак ';' на конце, причем вторая не содержит ничего кроме ';'. Таким образом и достигается опциональность (пустота).