Ruby srand returns the previous seed
srand
is a method on Kernel that seeds the pseudo random number generator. It takes a new seed as an argument or calls Random.new_seed
if you don't pass an argument. What's interesting about it is that it returns the old seed. This has the effect of return a new large random number every time you call srand
.
2.4.1 :007 > srand
=> 94673047677259675797540834050294260538
2.4.1 :008 > srand
=> 314698890309676898144014783014808654061
2.4.1 :009 > srand
=> 102609070680693453063563677087702518073
2.4.1 :010 > srand
=> 81598494819438432908893265364593292061
Which can come in handy if you're playing some Ruby golf and need to generate a huge random number in as few characters as possible.
H/T Dillon Hafer
Tweet