Wiredというメディアが世の中に存在します。基本的にそれなりの信頼がおけるテック系メディアで、GizmodoよりもかっちりしながらITmediaよりもフランク、といった印象があるかと思います。
さてそのようなWiredの日本語版では「ビーナス」ではなく「ヴィーナス」のような形で、Vを含む外来語をバ行ではなく"ヴァ"~”ヴォ”で表記する傾向があります。Wiredのような日本語を書きたいと思うこともあるかもしれないので、ちゃちゃっと作ってみました。
結論
- バ行のカタカナを"ヴァ"~”ヴォ”に変換する
- 脳筋コードを作成
コード
というわけで、バ行のカタカナを"ヴァ"~”ヴォ”に変換する脳筋コードをサクッと作成しました。Rustには文字列を扱うためにいくつかの方法が存在しますが、ここでは簡単にStringを活用しました。
fn main() {
let mut s: String = String::new();
std::io::stdin().read_line(&mut s).ok();
let result1: String = s.replace("バ", "ヴァ");
let result2: String = result1.replace("ビ", "ヴィ");
let result3: String = result2.replace("ブ", "ヴ");
let result4: String = result3.replace("ベ", "ヴェ");
let result: String = result4.replace("ボ", "ヴォ");
println!("{}", result);
}
コード、といえるかどうかすら怪しいものですが、要するに標準入力から受け取った文字列について、バ→ヴァのような変換を機械的に5回実施し、変換したものを標準出力へ出すといったものです。eniehackさんのdewiredifyの逆の処理(というかこれに触発されて作成した)と見なしていただければ大体合っています。ソースコード(?)はGitHub上で公開しているので、適宜改造していただければなと思います。
最後に
コピペという技能を活用することによって5分くらいで作成しました。普通に雑に書かれたものなので、改修したくなる気概が起こったらもうちょっと綺麗にしようかなと思います。