2016-04-05 24 views
1

Ich beginne ein Projekt, wo ich etwas lesen Kenntnisse von MUMPs, die Massachusetts General Hospital Utility Multi-Programming System haben muss. Ich habe es geschafft, es auf meinem OS X El Capitan Computer arbeiten zu lassen. Ich kann einige der einfachen Dinge tun, aber ich kann nicht scheinen, ein einfaches Unterprogramm zu erstellen. Nach den Angaben, die ich finden kann, wird ein Unterprogramm durch ein Etikett erstellt dann durch Linien gefolgt, die mit einer Lasche oder leer und Anweisungen zu starten, so dassSo erstellen Sie eine Unterroutine in MUMPS auf Mac OS X

HELLO 
    WRITE "Hello, World!",! 
    QUIT 

ein Unterprogramm sein würde, die ich

mit berufen könnte

Wenn ich versuche, es einzugeben, wird sofort die WRITE-Anweisung ausgeführt.

Auch gibt viele Beispiele für die Form:

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 

Als ich die DO Average Linie der Eingabe beginnen, erhalte ich eine Fehlermeldung, dass Durchschnitt nicht definiert ist.

Irgendwelche Ideen wie man das Unterprogramm betritt?

+1

Ich sehe nichts falsch in Ihrem Code. Aber da ich nur begrenzte Zeit habe, möchte ich nicht danach fragen, warum es nicht funktioniert. Ich würde vorschlagen, auf comp.lang.mumps zu fragen. Es gibt Unmengen von Leuten, die dir helfen können. --Sam (Seit 8 Jahren in M ​​programmiert). –

+1

Welche Version von M/Mumps verwenden Sie? (Oder ist es wirklich Caché ObjectScript?) –

+0

Ich verwende Cache 2016.1, aber ich weiß nicht, ob es ObjectScript ist. Ich benutze es vom Terminal und habe eine VistA CACHE.DAT-Datei. Ich kann nicht herausfinden, wie man eine Liste der ausführbaren Funktionen in dieser Datei bekommt und kann nicht herausfinden, wie man eine aus dem Terminal schreibt und sie als Global speichert. –

Antwort

2

Zuerst zwischen Kill und For, sollte mehr als 1 Leerzeichen sein, und wenn es nur ein Leerzeichen ist, dann For wurde eine Variable und sollte getötet werden. Dann sind Sie falsch, wenn erkannte UNDEFINED-Fehler für den Befehl DO Average, haben Sie einen anderen Fehler UNDEFINED in der gleichen Zeile und es ist AVG Variable, die wirklich undefiniert in Ihrem Code ist.
Wenn Sie gerade am Anfang MUMPS Sprache zu verstehen, würde ich empfehlen, jeden Befehl in einer separaten Zeile zu schreiben.

+0

Danke. Das war eine große Hilfe. Das Problem behoben, dann Code in eine Datei einfügen und tat: DO^Dateiname und es funktionierte! Kurz gesagt, wie schließe ich ein Problem, sobald ich mit der Antwort zufrieden bin und die antwortende Person "belohne"? –

+1

Schauen Sie sich einfach stackoverflow [tour] an (http://stackoverflow.com/tour) – DAiMor