Ruby 1.9.2 で動かした場合だけメルセンヌツイスター

追記
コメント欄にて yugui さんにご指摘いただいた(多謝)のですが、Ruby 1.8.0 から標準の rand はメルセンヌツイスターに変わっていました……。というわけで、この記事はまるまる無用です……。
【/追記


Ruby 1.9.2 からは Random クラスが追加されて、メルセンヌツイスターが使えるようになった。嬉しい。
嬉しいけど、まだ正式リリースされていないので、Ruby 1.9.2 を大前提としたコードを書くわけには。


というわけで、Ruby 1.9.2 で動かした場合だけ Random クラスを使う snippet。

module R;def self.rand;Kernel::rand;end;end
random = Random.new rescue R

puts random.rand

まあわざわざメルセンヌツイスターを使いたいときは、標準の rand では困る、というときだろうから、あんまり役に立たないような気もしてきたけどw。