Rubyチュートリアル ~英文小説の最頻出ワードを見つけよう!(その1)
ー2020年ー
インターネットにおけるワード枯渇問題が深刻化している。この10年で紙ベースのドキュメントから、ビットドキュメントへの移行が急速に進行し、現在では新刊書籍の90%は書店に置かれることなく、ネット上の大規模ストレージに直接格納されるようになった。人々の「本を読む」という習慣は、ネットインタフェースとしてのモバイルディスプレイに対峙するものに完全に置き換えられた。
そこで10年前には誰も想像しえなかった新たな問題が浮上してきた。それは、当初懸念されていたIPアドレスやストレージの枯渇問題ではなかった。
それは
ワード、とりわけASCIIワードの枯渇問題であった。
米国資源エネルギー庁主任研究員ドレス・コード博士の研究1によれば、ネット上の特定英単語(以下ワードという)の出現数が10^68 を超えると、ネット接続ストレージ上の対象ワードが消失する2ということが判明し、現在の指数関数的なワード伸長率を勘案すれば、5年後の2025年に最頻出の10ワードが消失し、7年後の2027年には100ワード、10年後の2030年には1000ワードが消失すると予言されている。
主要国政府による連携した対応により本年2月に、スウェーデン国ルンド(Lund)にて、ワード枯渇問題に関する国際条約 ールンド条約ー が制定され、主要20カ国はこれを直ちに批准した。本条約発効に伴い条約加盟各国には、国民による主要ワード30語の使用頻度を年内に30%以上削減することを課せられたことになる。各国政府は現在この問題の対応に追われている…
-----------
この影響は、世界小説家協会日本支部情報処理課に新人プログラマとして入社・配属されたあなたにも及んでいる。早々同課課長安藤はこの問題に対応するプロジェクトを発足し、あなたに以下の指令を出した。
「本日10時までに英文小説の最頻出ワードトップ30を特定せよ!」
そして、その結果をもって協会加盟の小説家たちにそれらのワードの使用を制限する通達を即時出せ、という。
あなたに与えられた時間は2時間しかない。しかも、あなたは初級プログラマである。
逡巡する気持ちを抱えながら席に戻ろうとするあなたの背中越しに、上司は一言付け加えた。
「無駄にワードは使うなよ」
そんなこと分かっています。ワードエコのこの時代…
さてどうしようか。自分一人ではできそうにない。
誰かの助けが必要だ…
席に戻ると直ちにネットを検索し助けを求めた。検索結果の一覧の中に『Rubyチュートリアル ~英文小説の最頻出ワードを見つけよう!』というタイトルのブログ投稿を見つけた。救われたか…
しかしRubyのことはよく知らない。でも、まずはこれを読んで見ようか…
Rubyチュートリアル ~英文小説の最頻出ワードを見つけよう!
忙しい読者の皆様が求めているものは、表題「英文小説の最頻出ワードを見つけよう!」に対するRubyのサンプルプログラムであることは熟知しています。しかしそれを速やかに理解するためには、Rubyに関する前提知識が必要です。少し時間をいただいて、最初にRubyの特徴的な事柄について説明させてください。
なおRubyは1993年に日本で生まれてから、複数回のヴァージョンアップを繰り返し、現在もなお進化の過程にあります。現行安定ヴァージョンはRuby4.8.10ですが、以下で説明する内容はレガシーヴァージョンでも動作します。またJRuby, PRuby, MRuby, SRubyあるいはLittleRuby, MicroRuby, uby, byでも動作するでしょう。ただ, Cuby, roobee, RubybuR, λRuby, ComeOn!RubyおよびLavieRubis, Ruby홍, Rubykakā3では動作しないでしょう。
さあ説明を始めましょう。
(次回に続く)
blog comments powered by Disqus