Rev 4158 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4 | slib_title=Randomly selects a number of (different) objects |
||
5 | slib_parms=3\ |
||
6 | 1,number of objects to select\ |
||
7 | item,type of objects (item, row, line, word)\ |
||
8 | ,input data\ |
||
9 | slib_author=Gang Xiao |
||
10 | slib_out=the randomly select objects |
||
11 | !exit |
||
12 | |||
13 | :proc |
||
14 | !distribute items $wims_read_parm into slib_n, slib_type |
||
15 | slib_data=!item 3 to -1 of $wims_read_parm |
||
16 | slib_type=!lower $slib_type |
||
17 | !bound slib_type within item,items,word,words,row,rows,line,lines default item |
||
18 | |||
19 | !if $slib_type iswordof item items |
||
20 | slib_data=!nonempty items $slib_data |
||
21 | slib_tot=!itemcnt $slib_data |
||
22 | !bound slib_n between integer 1 and $slib_tot |
||
23 | slib_list=!shuffle $slib_tot |
||
24 | slib_out=!item $(slib_list[1..$slib_n]) of $slib_data |
||
25 | !exit |
||
26 | !endif |
||
27 | |||
28 | !if $slib_type iswordof word words |
||
29 | slib_tot=!wordcnt $slib_data |
||
30 | !bound slib_n between integer 1 and $slib_tot |
||
31 | slib_list=!shuffle $slib_tot |
||
32 | slib_out=!word $(slib_list[1..$slib_n]) of $slib_data |
||
33 | !exit |
||
34 | !endif |
||
35 | |||
36 | !if $slib_type iswordof row rows |
||
37 | slib_data=!nonempty rows $slib_data |
||
38 | slib_tot=!rowcnt $slib_data |
||
39 | !bound slib_n between integer 1 and $slib_tot |
||
40 | slib_list=!shuffle $slib_tot |
||
41 | slib_out=!row $(slib_list[1..$slib_n]) of $slib_data |
||
42 | !exit |
||
43 | !endif |
||
44 | |||
45 | !if $slib_type iswordof line lines |
||
46 | slib_data=!nonempty line $slib_data |
||
47 | slib_tot=!linecnt $slib_data |
||
48 | !bound slib_n between integer 1 and $slib_tot |
||
49 | slib_list=!shuffle $slib_tot |
||
50 | slib_out=!line $(slib_list[1..$slib_n]) of $slib_data |
||
51 | !exit |
||
52 | !endif |
||
53 |