从数组Objectscript / Mumps一起分配两个项目

时间:2013-09-08 15:39:45

标签: mumps objectscript

只是想问一下是否有办法将两个项目放在一起,例如,如果我从20个项目的大型列表中生成4个随机购物清单,这些项目全部存储在我的全局(数组)中,如果我可以划分这个4,随机组合4个较小的列表我知道在c#中我可以使用'随机'库在Mumps objectscript中有类似的东西吗?

2 个答案:

答案 0 :(得分:1)

$ RANDOM(n)(或$ R)会有帮助吗?它会生成0到n之间的随机数。

答案 1 :(得分:1)

有十几种方法可以做到这一点,这是一个例子:

 RLIST
  N ITMS,I,FLG,R,ND,RES
  F I=1:1:20 S ITMS(I)="Item "_$E(I+100,2,3)  ; generate a list of items
  S ND="RES" K @ND
  ;
  F I=1:1:20 D  ; iterate through the list of items
  .S FLG="" F  D  Q:FLG  ; randomly select a target list
  ..S R=$R(5)+1  ; this will yield (0-4)+1 -> 1-5
  ..I $L($G(@ND@(R)),",")<4 D  S FLG=1  ; has the target list less then 5 items?
  ...S @ND@(R)=$G(@ND@(R))_$S($G(@ND@(R))="":"",1:",")_ITMS(I)  ; if so, add one
  ;
  F I=1:1:5 U 0 W "List "_I_": "_@ND@(I),!  ; print the target lists
  Q

Example using syntax highlighting