Lib - generating a list of random number

I try to generate an array of N random numbers in range between 2
integers min and max
but I don’t understand very well how to coordinate the sue of srand and
rand…
is there an already written function for that ? and btw is there any
place to find such useful functions ?

thanks

joss

On Wed, 15 Nov 2006, Josselin wrote:

harp:~ > cat a.rb
n, max, min = 42, 10, 6
p Array.new(n).map{ rand((max - min) + 1) + min}

harp:~ > ruby a.rb
[6, 8, 8, 10, 9, 7, 6, 8, 9, 7, 10, 10, 7, 7, 9, 9, 6, 9, 10, 6, 8, 10,
6, 9, 7, 8, 8, 10, 8, 9, 9, 9, 10, 7, 9, 6, 6, 8, 8, 10, 9, 7]

-a

On 14.11.2006 17:09, Josselin wrote:

I try to generate an array of N random numbers in range between 2
integers min and max
but I don’t understand very well how to coordinate the sue of srand and
rand…

I am not sure I understand you here. What does “sue” mean here?

is there an already written function for that ? and btw is there any
place to find such useful functions ?

What about this?

def rand_seq(count, min, max)
(1…count).map { rand(max-min) + min }
end
=> nil

rand_seq 10, -5, 5
=> [2, -4, -2, -1, -3, 1, 1, 1, -3, 0]

Kind regards

robert

On 2006-11-14 17:30:31 +0100, Robert K. [email protected]
said:

What about this?
robert
sorry sue => usage… typing mistake…

thanks !!! that’s exactly what I searched for…
I knew how to generate an array with an ‘upper limit only’ …

Josselin wrote:

I try to generate an array of N random numbers in range between 2
integers min and max
but I don’t understand very well how to coordinate the sue of srand and
rand…

They are very easy to use, but first you have to decide what you want to
do.
What do you want to do? What role does “srand()” play? Be specific.

is there an already written function for that ?

For what, specifically? The range of random numbers, or the use of
“srand()”? If you always want the same sequence of random numbers, then
there is one solution, but if you always want a different sequence,
there
is a different solution. Which do you want?

and btw is there any
place to find such useful functions ?

There sure is:

By the way, when you ask a question like this, it is best to express
your
requirement as specifically as possible. You may have noticed that you
got
two different replies to your inquiry, each with sample code that
provided
differing interpretations of your request.

The solution to this problem is to leave no doubt about your
requirement.
For example, when you say “between two integers” do you mean:

a < n < b

or

a <= n <= b

or some third possibility?

On 2006-11-14 18:17:19 +0100, Paul L. [email protected] said:

is there an already written function for that ?
http://www.ruby-doc.org/
thanks

or
a <= n <= b

or some third possibility?

I apologize… I was looking for a result (how to generate a list of
random integer numbers between a minimum and a maximum … included) …
yes forgotten to specify including limits…

and at the same time trying to understand how to USE srand()and rand(),
my standard Ruby manual is clearly written but there is no example for
this function.
I googled a lot but without any success regarding examples…
my first thought was: srand() is useful in setting a limit to the
generator… used by rand() so it could have been a clue to solve my
problem…

On Wed, 15 Nov 2006, Josselin wrote:

I googled a lot but without any success regarding examples…
my first thought was: srand() is useful in setting a limit to the
generator… used by rand() so it could have been a clue to solve my
problem…

Use ruby-doc.org

http://ruby-doc.org/core/classes/Kernel.html#M002012

Kirk H.

Josselin wrote:

/ …

and at the same time trying to understand how to USE srand()and rand(),
my standard Ruby manual is clearly written but there is no example for
this function.
I googled a lot but without any success regarding examples…
my first thought was: srand() is useful in setting a limit to the
generator… used by rand() so it could have been a clue to solve my
problem…

All except you haven’t yet said what the problem is. We could solve a
stated
problem, easily.

srand() sets a particular starting point for a pseudorandom sequence. If
you
use srand() and supply a fixed argument, you will get the same
pseudorandom
sequence on each run of your program:


#!/usr/bin/ruby -w

4.times do
srand(1)
10.times do
print "#{rand(16)} "
end
puts
end

Notice about this program that it puts out the same sequence every time.
Now
comment out the “srand(1)” line and see the difference.