if arg1 commands1 elseif arg2 commands2 elseif arg3 commands3 else commands4Рассматривалось поведение команды elseif такеое чтобы команда перед выполнением провериля значение $test как команда else и если значение не ноль то выполнялся бы перевод строки, если ноль то вычислялось бы значение аргумента и если не ноль то взводить значение $test и выполнять команды дальше, иначе выполнить перевод строки.
То есть трактовка аналогичная замене
elseif argна
else if argБыло поддержано мое предложение также как для команды if отказаться от постусловий как на команду так и на ее аргументы и трактовать как команду с обязательным аргументом, не допуская безаргументную форму как у команды if. Иначе мы получаем априори невыполняющийся код вида
else if commandsИ все бы было хорошо, но тут я заметил что в такой трактовке команда elseif сильно отличается от всех остальных команд MUMPS. Если все команды могут быть заменены
cmd arg1,arg2,arg3на
cmd arg1 cmd arg2 cmd arg3то для команды elseif такая замена выполняется лишь через другие команды:
elseif arg1,arg2это либо
elseif arg1 if arg2либо
else if arg1 if arg2Что категорически нарушает организацию языка и трактовку команд в нем.
Как вариант можно было бы оставить лишь один аргумент, но это опять же нарушает общую методику языка MUMPS.
Поэтому пока предложение по команде elseif остается не одобренным.
Комментариев нет:
Отправить комментарий