RubyでStringRandom

http://github.com/tama/ruby-string-random/tree/master
lambdaとか,ここ2日くらいのPerlの呟きはこれが原因.最近コーディングしてなくて,何か書きたいなぁと思い以前見かけて興味があったPerlString::RandomモジュールRubyになかったので移植してました(PHPにはあるっぽい).
Rubyっぽくメソッド名も変更してるし,テストもRUnitだけと必要分は網羅しているはず.regch_bracketでマジックインクリメント使っているのだけど,1.9で動かすためなので仕方がない.*1

lambdaの記事は,最初Regchという定数にハッシュとして特殊文字とその処理をサンプルのMapのように保持していたのだけど,'{'の処理の中でインスタンス変数を参照する必要がありどうにか出来ないかと迷っていた(処理自体は共通で変更しないので定数がいいかなと,名前付けるのも面倒だしw).
結局解決出来なかったので,インスタンスメソッドをmethodオブジェクトとして使っている.この辺Perlは常に$selfで持ち歩くから関係ないよなぁと.


次何しよう.GitHub見て思い出したけどFIGlet全然やってないなぁw

追記

何か1.9からsecurerandomとかいうライブラリが標準添付らしい.何か色々と被ってるYO!

追追記

keitaさんのruby-gitのパッチのを読んでて,RangeオブジェクトもKernel#Arrayで変換した方がいいのかな?と思うようになってきた.コードは統一した方がいいだろうし.
あー,式展開しない文字列を""で生成している所がある.修正しとくか.

*1:文字コード取得方法が違うため