Multiple distinct objects: Difference between revisions

Content added Content deleted
(Replaced existing text which contained errors by an example.)
m (→‎{{header|REXX}}: chaned program so that it wouldn't raise the NOVALUE condition, add the displaying or more information.)
Line 1,221: Line 1,221:
<lang rexx>/*REXX program does a list comprehension that will create N random integers, all unique.*/
<lang rexx>/*REXX program does a list comprehension that will create N random integers, all unique.*/
parse arg n lim . /*obtain optional argument from the CL.*/
parse arg n lim . /*obtain optional argument from the CL.*/
if n=='' | n=="," then n= 20 /*Not specified? Then use the default.*/
if n=='' | n=="," then n= 1000 /*Not specified? Then use the default.*/
if lim=='' | lim=="," then lim= 100000 /* " " " " " " */
if lim=='' | lim=="," then lim= 100000 /* " " " " " " */
lim= min(lim, 1e5) /*limit the random range if necessary. */
lim= min(lim, 1e5) /*limit the random range if necessary. */
randoms= /*will contain random list of integers.*/
randoms= /*will contain random list of integers.*/
$= .
#= 0 /*counter used to ensure uniqueness. */
do j=1 for n /*gen a unique random integer for list.*/
do j=1 for n /*gen a unique random integer for list.*/

do until wordpos(?, @)==0 /*ensure " " " " " */
?= random(0, 100000) /*Not unique? Then obtain another int.*/
do until wordpos($, randoms)==0 /*ensure " " " " " */
end /*until*/ /*100K is the maximum range for RANDOM.*/
$= random(0, lim) /*Not unique? Then obtain another int.*/
@= @ ? /*add an unique random integer to list.*/
end /*until*/ /*100K is the maximum range for RANDOM.*/

end /*j*/ /*stick a fork in it, we're all done. */</lang>
randoms= $ randoms /*add an unique random integer to list.*/
<br><br>
end /*j*/

say words(randoms) ' unique numbers generated.' /*stick a fork in it, we're all done. */</lang>
<br><br>


=={{header|Ruby}}==
=={{header|Ruby}}==