2010-11-11 81 views
8

我正在爲其分析工具,我需要MUMPS示例代碼。任何人都可以爲我提供MUMPS實時代碼或示例代碼嗎?還建議一些相同的鏈接。需要MUMPS示例代碼

回答

3

我不認爲這樣做足以用於分析目的,但在M[UMPS] by Example處有很多小例子。 MUMPS Wikipedia頁面上還有一些冗長的樣本。我不知道他們是否獨立。沒有自己測試過。

3

VistA是在MUMPS上編寫的退伍軍人管理局的開源EMR。您可以從這裏下載VistA wiki:OpenVistA Download Page

我還沒有嘗試自己下載它,因此您可能需要安裝MUMPS才能訪問源代碼。祝你好運!

12

這是一些流行性腮腺炎我寫的樂趣。我想如果你可以分析這個,你的工具可以工作:

Q N R,Q,C,D,E,W,B,G,H,S,T,U,V,F,L,P,N,J,A S N=$G(N),Q='N,F=Q+Q,P=F+F,W=$L($T(Q)) 
S W=$E(W,Q),S='N_+N,W=W-F*S,L=$G(L),R=$C(Q_F_P),R(F)=$C(F+Q_F),R(P)=$C(W-F) W # 
S T=$E($T(Q+F),F,W\S)_$C(W+S+F) X T S B=$P(T,$C(P_P),F),C=B\(W*W),D=B-(C*W*W)\W 
F G=S-Q:F:S+F+Q S E=B-(C*W*W+(D*W)),H=$E($T(Q),G),@H=$S(@H<S:'Q,Q:N)[email protected],T=C_D_E 
F A=Q:Q:W\S S J=$E(T,A),C(F)=$S(J>(F+Q)&(J<(S-F)):Q,Q:+N),C(P)=$S(J#F:Q,Q:+N) D 
.S C(Q)=$S(J<(S-F):+N,Q:Q),C(F+Q)=$S(J>Q&(J<(S-F))&(J'=(P+'L))&(J'=(P)):Q,Q:+N) 
.S H('L)=L F S H(N?.E)=$O(C(H('$G(N)))) Q:H('+L)=L S F(A,H('L))=C(H(W[(W\S))) 
F U=Q:Q:P W !,R F V=Q:Q:P+F W $S(F(V,U):'Q,Q:$C(P_(W\S))) W:'(V#F) $C('N_F_F+F) 
W !!,R(F)_C_R(P)_D_R(P)_E_R(F) X $RE($E($T(Q),Q+F,P+Q))_R(P)_'N W # G:N=L Q+F Q 

看起來好像沒有文字!

此輸出二進制時鐘:

:D Q^ROU 


|..|..|..| 
|..|..|.0| 
|..|.0|0.| 
|..|00|..| 

00:13:24 
0

這裏的 「世界你好」:

w "Hello world!",!

wwrite的縮寫 - 要麼是可以接受的,但縮寫放逐更加地道。字面!是一個換行符。

這裏有一個斐波那契實現,首先沒有縮寫然後用

innerFibonacci(value,cache) . if cache(value)'="" quit cache(value) . set cache(value=$$innerFibonacci(value-1,cache)+$$innerFibonacci(value-2,cache) . quit cache(value) fibonacci(value) . new cache . set cache(0)=1 . set cache(1)=1 . quit $$innerFibonacci(value,cache)

下面是用更地道的縮寫相同的事情:

innerFibonacci(value,cache) . i cache(value)'="" q cache(value) . s cache(value=$$innerFibonacci(value-1,cache)+$$innerFibonacci(value-2,cache) . q cache(value) fibonacci(value) . n cache . s cache(0)=1 . s cache(1)=1 . q $$innerFibonacci(value,cache)

現在 - 遞歸腮腺炎是一個漂亮的危險的事情 - 所以這可能很容易炸燬一個大的價值。

這裏有一個小更「MUMPS-Y」的例子,一個實際利用流行性腮腺炎」單個數據結構,它基本上是一個排序後的數組其索引可以是數字或字符串。將這些數組前綴^保存到磁盤。 $這些東西都是內置在該語言中的函數。 q:quit命令的後置條件,意思是'如果人員等於'則退出'''。

這是沒有的縮寫,然後用:

peopleFoodCombinations(people,food) . new person . for set person=$order(people(person)) quit:person="" do . . set ^PEOPLE(person,"favoriteFood")=food(person) . quit

與abbrevs

現在:

peopleFoodCombinations(people,food) . n person . f s person=$o(people(person)) q:person="" d . . s ^PEOPLE(person,"favoriteFood")=food(person) . q