2013-09-08 3 views
1

Просто хотел спросить, существует ли способ собрать два элемента, например, если я создавал 4 случайных списка покупок из большого списка из 20 элементов, которые все хранятся в my global (array), если бы я мог разделить это на 4 и случайным образом собрать 4 меньших списка, которые я знаю. В C# я мог бы использовать «случайную» библиотеку, есть ли что-то похожее на это в Mumps objectscript?Назначение двух элементов из массива Objectcript/Mumps

+0

Random не совсем случайным. Ты знаешь, что это правильно. :) – Yogesh

ответ

1

Помогло бы $ RANDOM (n) (или $ R)? Он генерирует случайное число между 0 и n.

+0

множество^Продукты питания() = "рыба" множество^Food() = "жарит" множество^Продукты питания() = "гамбургер" множество^Food() = "пицца" сказать, если бы я это там каким-либо образом я могу случайно поставить два предмета вместе – user2653531

+0

, если бы я мог отправить вам по электронной почте то, что мне нужно задать, несколько не имеет отношения к этому вопросу – user2653531

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(@[email protected](R)),",")<4 D S FLG=1 ; has the target list less then 5 items? 
    ...S @[email protected](R)=$G(@[email protected](R))_$S($G(@[email protected](R))="":"",1:",")_ITMS(I) ; if so, add one 
    ; 
    F I=1:1:5 U 0 W "List "_I_": "[email protected]@(I),! ; print the target lists 
    Q 

Example using syntax highlighting