まずはこれを見てほしい。
こにんちは みさなん おんげき でかす? わしたは げんき です。 この ぶしんょう は イリギス の ケブンリッジ だがいく の けきんゅう の けっ か にげんん は もじ を にしんき する とき その さしいょ と さいご の もさじえ あてっいれば じんゅばん は めゃちくちゃ でも ちんゃと よめる と いう けきんゅう に もづといて わざと もじ の じんゅばん を いかれえて あまりす。 どでうす? ちんゃと よちめゃうでしょ? ちんゃと よためら はのんう よしろく
「こんにちは」が「こにんちは」だったり、「おげんき」が「おんげき」だったりする。
所謂ケンブリッジ変換というもので、
平仮名だと、殆ど流れで読めるから、正確に文字列が並んでいなくても文章が読めてしまう、というやつです。
ケンブリッジ変換そのものについては、wikipediaでも見てください。
そして普通の文章からケンブリッジ変換を行うプログラムがグループワークであったので、
やってみた。とりあえずrubyは1.9.3です。
# -*- coding: utf-8 -*- s = "こんにちは みなさん おげんき ですか ? わたしは げんき です。 この ぶんしょう は イギリス の ケンブリッジ だいがく の けんきゅう の けっ か にんげん は もじ を にんしき する とき その さいしょ と さいご の もじさえ あっていれば じゅんばん は めちゃくちゃ でも ちゃんと よめる と いう けんきゅう に もとづいて わざと もじ の じゅんばん を いれかえて あります。 どうです? ちゃんと よめちゃうでしょ? ちゃんと よめたら はんのう よろしく" t = s.split(" ") w = nil t.each{|i| if i.size >= 4 u = i[1] v = i[2] i[1] = v i[2] = u end } p t.join(" ")