まんぷく::日記

2003年から2007年までのはてなダイアリーをはてなブログに移設したものです。現在はhttp://ima.hatenablog.jp/を更新中

legとgel

ふと気がついた。「leg(脚)」を逆から書くと「gel(ゲル/ジェル)」になる。おお。

これだけだと単に「ダンス」と「すんだ」とか「確か」と「貸した」、「イカ」と「貝」、「言語」と「権化」…の関係と同じだから、英単語でもこういう組み合わせはいろいろありそうだ。

で、たとえば「leg」は日本語だと「あし」だけど、もし「gel」が日本語で「しあ」という意味の単語だったら面白いなと思った。英語と日本語の意味のつながりが、それぞれ逆から書いても変わらないような組み合わせ。

英語 leg←→gel
日本語 あし←→しあ

果たして、そういう組み合わせはあるだろうか。また、どうやって調べればよいだろうか。

  1. たくさんの英単語のリストを用意する
  2. 「leg」と「gel」のように、逆に書いても意味が通る英単語を調べる
  3. それぞれを日本語にしたとき、「タイヤ」と「焼いた」のように、お互い逆に書くともう一方の意味になるかどうか調べる

手元には、昔ダウンロードしたフリーの英和辞書がある。ここから英単語の見出し部分だけを拾い出せば、英単語のリストとして使えるだろう。これをPerlとかで処理する場合は、こんな手順だろうか。

  1. 単語のリストのファイル(A)から1行読み込む
  2. 読み込んだ単語を、1文字ずつ逆にする(「the」→「eht」)
  3. 逆にした単語を別のファイル(B)に追加出力する
  4. 以下くり返し

そして次にこんな感じで。

  1. ファイルBから1行読み込む
  2. その単語が、ファイルAに含まれるか調べる
  3. 完全に一致する単語が見つかったら、それを別のファイル(C)に出力する
  4. 以下くり返し

ファイルAがアルファベット順にソートされているなら、ファイルBの中の単語と比較するとき、まず1文字目だけ注目してあれこれすれば、処理を高速化できそうだ。

ファイルCに含まれる単語はそれなりにありそうだけれど、ここから先を自動化するのは難しそう。1つずつ日本語を調べていくしかないかも。

でもこれはちょっと面白そう。気が向いたらPerlの練習も兼ねてやってみよう。いやもうPerlの文法はかなり忘れているから、練習というより復習か。

関連リンク