-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, # Especially to Technorama Ltd. We're discussing about introducing Random class for PRNG on ruby-dev ML. * current rand and srand changes global state. it should be the source of a security problem sooner or later in this "framework" era. (I claimed) * Mats agreed to introduce a class for PRNG based on current Mersenne Twister implementation. class name is "Random". * no plan to introduce another PRNG based on other PRNG algorithm. MT is the only PRNG engine for "Random". * we're now discussing what methods "Random" should have. Here's my proposal (no agreement for now); Random#integer(max) Ramdom#bytes(size) Random#float # same as Random#rand(0). not needed? Random#rand(max = 0) Random#srand(seed = nil) Random#seed=(seed = nil) # same as Random#srand(seed) Random.rand(max = 0) # calls Random#rand(max) of the singleton Random # object which is initialized with the current # srand(). rand(max = nil) # calls Random.rand(max) srand() # srand() now takes no argument for 1.9. Comments needed. Regards, // NaHi -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) iQEVAwUBRm49vB9L2jg5EEGlAQIhCAf/cUqxCF7wkEwakEPkTaonfVvO5Firz1jh obm8cr3tr4+8sEiY5WX6nLoI3laEOgVfiyjgmTmFY2L6b4ghyU3fcynzlLINSbPn MehyWaSscamlaN28DkPv8Jq51hoIMTNsmTyA6QEVIKkN+m9DFdd4Jk0505kB9/yH RdhMFsZ/wZXjJkbAEVIIxaenfn90tRydwcXF/PZRHNVjbi/r0U57wlmni+aoGWrO 3bafFWymg0t+nlKY1Kajgy4cle/Cx3WaeZ2YoRTyp5HsBS5Tw0cUbwZDF8G14bVW TWkDEe9nRG0e82Hh8ow6jqoUqOgIJBqi6/KfaoR7JQtXC2Bi0DbHiQ== =ORxD -----END PGP SIGNATURE-----