String::Randomのgolang移植書いた
https://github.com/Songmu/strrand
moznionがJava版を書いていたのでgolang版を書いた。
regexpチックなパターンを渡すインターフェースのみ移植している。以下の様な使い方だが、詳しくはSynopsis参照のこと。
str, err := strrand.RandomString(`\d{2,3}-\d{3,4}-\d{3,4}`)
fmt.Println(str) // 033-128-3473
一応コマンドラインツールも作っていて、
% go get github.com/Songmu/strrand/cmd/strrand
とかやれば、strrand
というコマンドラインツールが入る。
cho45氏のString_random.jsは丸括弧によるグルーピングやパイプによる選択も実装していて素晴らしいが、strrandはPerl版同様それらの機能は残念ながら未実装である。
しかし、String_random.jsの活用方法に書いてあるコーフィースクリップトの発音を生成する位のことはできる。
% strrand '[カコヵか][ッー]{1,3}?[フヒふひ]{1,3}[ィェー]{1,3}[ズス][ドクグュ][リイ][プブぷぶ]{1,3}[トドォ]{1,2}'
ヵひヒィーズクイぷぶト
グルーピングもちょっと頑張ればできると思うので気が向いたらやりたい。どなたかパッチ書いてくださっても嬉しい。