2016-04-05 86 views
1

我開始一個項目,在那裏我需要閱讀馬薩諸塞州綜合醫院實用程序多編程系統的一些閱讀知識。我已經設法讓它在我的OS X El Capitan電腦上運行。我可以做一些簡單的事情,但似乎無法創建一個簡單的子程序。據我能找到的規格,子程序由標籤再接着以標籤或空白,並指示開始的行創建的,所以如何在Mac OS上的MUMPS中創建一個子程序X

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平均線,我得到的平均值是沒有定義的錯誤。

關於如何進入子程序的任何想法?

+1

我在代碼中看不到任何錯誤。但時間有限,我不想問爲什麼它不起作用。我會建議詢問comp.lang.mumps。那裏有很多可以幫助你的人。 --Sam(在M中編程了8年)。 –

+1

你正在使用什麼版本的M/Mumps? (或者它真的是CachéObjectScript?) –

+0

我正在使用緩存2016.1,但我不知道它是否是ObjectScript。我從終端使用它,並有一個VistA CACHE.DAT文件。我無法弄清楚如何獲得該文件中的可執行文件列表,並且無法弄清楚如何從終端編寫一個可執行文件並將其保存爲全局文件。 –

回答

2

首先在KillFor之間,應該多於1個空格,如果它只有一個空格,那麼For就成了一個變量,應該被殺死。 然後,如果對於命令DO Average識別爲UNDEFINED錯誤,則在錯誤中,您在同一行中有另一個未定義的錯誤,並且它的值爲AVG變量,這在您的代碼中確實未定義。
如果您剛開始瞭解MUMPS語言,我會建議在單獨的一行中寫入每條命令。

+0

謝謝。這是一個很大的幫助。修正了這個問題,然後將代碼放入一個文件中,然後執行:DO^filename並且它工作正常!簡而言之,一旦我對答案滿意並且「回報」回答的人,我該如何解決問題? –

+1

只需看一下stackoverflow [tour](http://stackoverflow.com/tour) – DAiMor

相關問題