Forum: Ruby Some probabilities fun

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2c7c807a1df0c76a8fc823c709b501a9?d=identicon&s=25 Victor "Zverok" Shepelev (Guest)
on 2007-05-28 09:00
(Received via mailing list)
Hello all.

Only wanted to show two short probability tricks, which can make use in
games or other "random" environments.

-----------------
#Trick 1: use ~ sign to say "approximately"

class Numeric
   LEVEL = 0.3
   def ~
     self + self * rand(LEVEL) - self* LEVEL/2.0
   end
end

#testing it:

10.times{puts "=" * ~15.0}

#now you shall see 10 bars with random lengthes in range 15 +-15%
#can be used, for example, in game charactes move: go(~10.0),
turn(~15.0)

#!warning: we still leave Fixnum#~ as byte negation
#you can rewrite it too, but on your own risk!

----------------
#Trick 2: indeterminate event

def probable(pct)
  yield if rand(0.99999999) < pct
end

res = 0

100.times{
  probable(0.4){res += 1}
}
#100 times increase res with 40% probability

p res
#you should see something between 30 and 50...

Isn't cool? :)

V.
This topic is locked and can not be replied to.