街が赤と緑に包まれるころ,僕は彼女からの返信を待っていた。先日,彼女は僕に暗号のような(実際に暗号だったのだが)メールを送ってきた。内容は,

 「23.1 11.1 18.5 13.1 19.8.15 21」

という,一見すると意味不明な数字の羅列だった。それをなんとか解いてみると,そこには「別れましょう」という彼女からの一方的な宣告が現れたのだ。

 あれから僕は,彼女に向けて,「別れる理由が思い当たらない。それに僕は,別れたいとは思っていない」という主旨のメールを送った。

 メールを送ってから数日が過ぎたころ,彼女から返信が届いた。ある程度は予想していたが,今回もやはり意味不明なメールだ。

 17.47 41.11 43.43 43.2 67.2 23 83.2 31.2 71.71.11 31.73 7.2 67.2 23

 前回のメールの内容は,ローマ字をその文字順の数字に変換した簡単なものだった。今回の暗号は,それより複雑で,一筋縄では解けなさそうだ。僕はまた大学以来の友人Kに電話をすることにした。

僕:「予想はしていたけど,また彼女から暗号メールが届いたよ」
K :「そう,すてきだね」
僕:「すてきなことなんて何もないよ。きっとこの暗号の内容も『イタズラしてゴメンネ』なんていう温かい内容ではないと思う」
K :「すてきなことが二つになった。一つは,彼女が再度暗号メールを送信すると考えて,そして実際に彼女がそうしたこと。これは君が彼女を理解している証拠だ」
僕:「もう一つは?」
K :「君はその内容をハッピーなものと考えていない。それはきっと当たっているということ。やっぱり君は彼女を理解している」
僕:「やれやれ」

 こんな冗談を言われて「やれやれ」以外の返事があるだろうか。しかし,この暗号を解かなくてはならないだろう。暗号解読に取り掛かる前に,少しRubyの特徴に思いをめぐらせて,頭を整理してみよう。