Как создать подпрограмму в MUMPS на Mac OS X

Я начинаю проект, в котором мне нужно кое-какие знания по чтению MUMP, мультипрограммной системы общего пользования больницы штата Массачусетс. Мне удалось заставить его работать на моем компьютере OS X El Capitan. Я могу сделать некоторые простые вещи, но не могу создать простую подпрограмму. В соответствии со спецификациями, которые я могу найти, подпрограмма создается меткой, затем следуют строки, начинающиеся с табуляции или пробела и инструкций, так что

HELLO
   WRITE "Hello, World!",!
   QUIT

будет подпрограмма, которую я мог бы вызвать с помощью

DO HELLO

Когда я пытаюсь ввести его, он немедленно выполняет инструкцию WRITE.

Кроме того, многие примеры имеют вид:

DEMO 
   Kill For i=1:1:10 SET Ary(i)=i*2
   DO Average Write !,"Average=",AVG
   KILL Ary,AVG,i
   QUIT
Average  SET Sum=0;
   ;  Do something here
   QUIT

Когда я начинаю набирать строку DO Average, я получаю сообщение об ошибке, что Average не определен.

Любые идеи о том, как войти в подпрограмму?

1 ответ

Решение

Прежде всего между Kill а также For, должен быть больше 1 пробела, и если он только один пробел, то For стал переменной и должен быть убит. Тогда вы ошиблись, когда распознали НЕОПРЕДЕЛЕННУЮ ошибку для команды DO Average, у вас есть еще одна неопределенная ошибка в той же строке, и это AVG переменная, которая действительно не определена в вашем коде.
Если вы только начинаете понимать язык MUMPS, я бы рекомендовал писать каждую команду в отдельной строке.

Другие вопросы по тегам