Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > generating negative random numbers

Reply
Thread Tools

generating negative random numbers

 
 
Josselin
Guest
Posts: n/a
 
      01-30-2007
I know how to generate positive random numbers, but is it possible to
generate a random number in a range such [-9..+9] ?
tfyh

joss

 
Reply With Quote
 
 
 
 
Josselin
Guest
Posts: n/a
 
      01-30-2007
On 2007-01-30 08:14:39 +0100, "Gerald Ebberink" <> said:

> Rand(1-9
>
> Gerald Ebberink
> Laser Technician
>
> NCLR B.V.
> PO box 2662
> Enschede 7500CR
> The Netherlands
> Work: 31 53 4891110
> Direct: 31 53 4893961
> Fax: 31 53 4891102
> Email:
>
> http://www.linkedin.com/in/geraldebberink
>
>
>
>
> Want a signature like this?
>
> -----Original Message-----
> From: Josselin [private.php?do=newpm&u=]
> Sent: dinsdag 30 januari 2007 8:10
> To: ruby-talk ML
> Subject: generating negative random numbers
>
> I know how to generate positive random numbers, but is it possible to
> generate a random number in a range such [-9..+9] ?
> tfyh
>
> joss


thanks ... I'd never think about it !

 
Reply With Quote
 
 
 
 
Tim Bray
Guest
Posts: n/a
 
      01-30-2007

On Jan 29, 2007, at 11:10 PM, Josselin wrote:

> I know how to generate positive random numbers, but is it possible
> to generate a random number in a range such [-9..+9] ?


irb(main):001:0> def rrand(x)
irb(main):002:1> rand(2*x) - x
irb(main):003:1> end
=> nil
irb(main):004:0> rrand 9
=> -7
irb(main):005:0> rrand 9
=> -8
irb(main):006:0> rrand 9
=> 5
irb(main):007:0> rrand 9
=> -8




 
Reply With Quote
 
Farrel Lifson
Guest
Posts: n/a
 
      01-30-2007
On 30/01/07, Josselin <> wrote:
> I know how to generate positive random numbers, but is it possible to
> generate a random number in a range such [-9..+9] ?
> tfyh
>
> joss
>
>
>


rand(19) - 9

Farrel

 
Reply With Quote
 
Martin DeMello
Guest
Posts: n/a
 
      01-30-2007
On 1/30/07, Josselin <> wrote:
> I know how to generate positive random numbers, but is it possible to
> generate a random number in a range such [-9..+9] ?
> tfyh


class Range
def rand
Kernel::rand(last - first + 1) + first
end
end

(-9..9).rand

martin

 
Reply With Quote
 
Josselin
Guest
Posts: n/a
 
      02-01-2007
On 2007-01-30 08:05:18 +0100, Josselin <> said:

> I know how to generate positive random numbers, but is it possible to
> generate a random number in a range such [-9..+9] ?
> tfyh
>
> joss


thanks to all of u, got it, but why there is no 'standard' function in
the lib ...

 
Reply With Quote
 
Christoffer Lernö
Guest
Posts: n/a
 
      02-27-2007

On Jan 30, 2007, at 08:52 , Martin DeMello wrote:

> On 1/30/07, Josselin <> wrote:
>> I know how to generate positive random numbers, but is it possible to
>> generate a random number in a range such [-9..+9] ?
>> tfyh

>
> class Range
> def rand
> Kernel::rand(last - first + 1) + first
> end
> end
>
> (-9..9).rand


(-9...10).rand won't give the expected answer. I think the below
should fix the problem when the last entry in the range is excluded:

class Range
def rand
return first if exclude_end? && last == first
Kernel::rand(last - first + (exclude_end? ? 0 : 1)) + first
end
end



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Random number generator, generating 10 different numbers. Need Help. Wally ASP .Net 1 03-20-2006 12:19 AM
Generating Random Numbers between a potentially negative range laura.paterson@gmail.com Java 3 02-09-2006 09:04 AM
pass time(0) to srand() when generating random numbers. Intaek LIM C Programming 1 10-31-2003 09:02 AM
Generating unique random numbers lallous C++ 5 10-20-2003 12:17 PM
problem with generating random numbers ! sugaray C Programming 2 09-14-2003 01:58 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57