Tips & tricks (Трюки кодинга)
Давайте будем делиться в этом разделе различными хитростями и трюками программирования на MP.
Нестандартное использование оператора repeat
Когда я только начинал кодить на MP меня очень тяготило отсутствие оператора switch, который есть в C. Поэтому, когда нужно было делать множество проверок, то выглядело это так:
if ... then ...
if ... then ...
if ... then ...
Некрасиво, правда? А если таких проверок не один десяток, а то и сотня? Основной недостаток такой конструкции - невозможность отменить дальнейшие проверки если результат уже найден. Тут бы мог спасти оператор goto, но его в MP тоже нет. Но решение этой проблемы есть. Посмотрите нижеприведенный код и вам всё станет ясно:
repeat
if ... then begin ....; break; end;
if ... then begin ....; break; end;
if ... then begin ....; break; end;
until true;
C помощью сочетания repeat until true и break можно добиться и некоего подобия оператора goto т.е. условного/безусловного перехода на метку.
.....
..... // Какой-то код
.....
repeat
.....
..... // Код
.....
if ... then break; // Переход на метку
.....
..... // Код
.....
until true;
..... // Тут типа метка
.....
|