第18話 家庭教師再び

 めぐみちゃんと初体験をしてから、また一週間後の事。

 僕は、沢木家さわきけを訪れていた。

 恵ちゃんからの、

 「私の部屋に招待しますよ」

 という申し出によるものだ。


「お邪魔しまーす」

「どうぞ、どうぞ」


 十年近く前に訪れた、その家はさすがに随分変わっていて。

 それでも、あの頃の風景があって少しほっとした。


「あらー。真島まじま君。今日はどうしたの?」


 リビングから顔を出したのは、沢木さんだった。


「ちょっと、恵ちゃんに誘われまして」

「もう、恵ったらアツアツね」

「もう、お母さん。部屋には入らないでね!」

「それはもちろん。大事な甥っ子と娘のデートだし」


 甥っ子、か。

 そう言ってくれるのは嬉しいけど、少しくすぐったい。

 実は、再会してから、時々、僕は、沢木さんからおすそ分けをもらっている。

 それは、パンケーキだったり、多めに作った料理だったり色々だけど。

 沢木さんが、甥っ子と言ってくれているのも、あながちお世辞じゃないんだろう。


「ほら。裕二君、こっちです」

「はいはい」


 懐かしいリビングを見物する間もなく、部屋にひっぱりこまれてしまった。

 そして。恵ちゃんの部屋はといえば。


「なんていうか、随分、女の子らしい部屋だね」

「最後に裕二ゆうじ君が来たのが中二の時ですから、それは変わりますよ」

「でも、ぬいぐるみとか可愛い系のがあるのが意外だね」


 昔の彼女は、あんまりそういうのを欲しがらなかったのだけど。


「実は、昔から、欲しいことは欲しかったんですよ」

「そうだったの?」


 今だから知る事実という奴だ。


「はい。でも、うちの家計を考えると、あまり贅沢は言えなかったですし」

「ということは、今置いてあるぬいぐるみは……」

「はい。バイトして買ったものです。大きめのは高いですから、控えてますけどね」

「偉いね。僕が学生の頃とか、お金の遣い方はもっと適当だったよ」


 きっと、バイト代もこつこつ貯金しているんだろう。


「別にそんな大層なものじゃないですよ。質素堅実が一番!それだけですよ」

「その歳で、そこまでしっかりしてるのが凄いんだけどね」


 思い起こせば、大学三年生だった頃、僕はそこまで貯蓄に熱心じゃなかった。


「もう、褒めすぎですよ。あ、そういえば!」


 と何かを思い出した様子の恵ちゃん。


「うん?どうしたの?」

「裕二君に教えて欲しい事があったんです」

「僕に教えられることなら、なんでも」

「実は、最近、プログラミングの勉強してるんですけど……」


 と、ノートPCのモニターをずいと押し付けられた。


「良いことだとは思うけど、どうしたの?急に」

「最近、ITエンジニアって人気あがって来てるじゃないですか」

「まあ、AIブームとか、色々追い風もあるしね」


 当分、食いっぱぐれしない職種の一つだろう。


「だから、私も今の内に、勉強を始めておこうかなと思いまして」

「恵ちゃんなら、優秀なITエンジニアになれると思うよ」

「お世辞はいいですから、この問題集見てください」


 表示されていたのは、「R-99」というページ。

 Ruby言語で99個の問題を解くという趣旨らしい。


「へー。恵ちゃん、Ruby勉強してるんだ」

「はい。なんか、国産言語っていうことで、日本語の情報も多いですし」

「まあね。作者さんも、今や世界的有名人だしね」


 最近、ふるさと納税で松葉ガニと彼の名前をかけた返礼品を見たことがある。

 凄い人ではあるけど、今やITエンジニア界での芸能人みたいなものでもある。


「それで、今、この、flattenメソッドを実装する課題をやってるんですが」

「ふむふむ……あー、配列を平らにする奴か。よくある練習問題だね」


 入力:[[1, 2], [3, 4], [5, 6]]

 出力:[1, 2, 3, 4, 5, 6]


 という風になっていて、そうなるようなflattenメソッドを書けというものだ。


「やっぱりよくあるんですね」

「リスト操作系だと基本じゃないかな。と、恵ちゃんは……堅実な解答だね」


def flatten(list)

 result = []

 list.each do|e|

  result += e

 end

end


 ただ、見ていて、これにはバグがあると気づいてしまった。


「でも、これだと、三重以上の時に動きませんよね」


 と、

> flatten([[[1, 2]]])

 を打ち込んでみせると、

> [[1, 2]]

 が表示されてしまう。


「そうだね。本来なら、[1, 2] が期待する結果だろうね」

「はい。でも、ループだけだと、どうにもうまく行かなくて……」


 なるほど。初心者がよくつまづく再帰関係の問題だな。


「そうだね……ちょっと、操作させてもらっていい?」

「え、ええ。どうぞ」


 と素早く、問題を正確に解くプログラムを打ち込む。


def flatten(list)

 result = []

 list.each do |e|

  if e.instance_of?(Array)

   result += flatten(e)

  else

   result << e

  end

 end

 result

end


> flatten([[[1, 2]], [[3, 4]]])

> [1, 2, 3, 4]


「と、大体こんなものかな」

「さすが本職ですね。ほとんどノーミスで……」

「いや、これは練習問題だからね。普通は僕もミスしまくるよ」


 と、それはさておき。


「この問題のポイントは再帰recursionだね」

「あ、はい。まだそこがピンと来ていないんですけど」

「恵ちゃんの解法だと、配列のネストがいくらでも増えるという状況に対応出来ないんだけど」

「それは、問いててわかりました。でも、なんで裕二君のだと動くんですか?」


 再帰が何故動くのか、か。これ、結構答えるのが難しいんだよな。


「正確に説明しようと思うと、数学の帰納法の考え方が必要なんだけど……」


 と、どう言ったものだか考える。


「帰納法って、高校で習った数学的帰納法のことですよね?」

「正確には、この場合だと、構造的帰納法こうぞうてききのうほうだけど」


 数学的帰納法は、主に自然数に対するものだけど、

 構造的帰納法は、データ構造に対して使う事が出来る。


「構造的帰納法、ですか?初めて聞きました」

「ま、計算機科学専門の人でも、知らない人は多い用語だからね」


 と、つい薀蓄を言う癖が発動してしまった。


「ごめんごめん。正確な説明をしようと思うと、とても長くなるんだけど……とりあえず、再帰関数に任せれば、「うまくやってくれる」と思うのが、最初の難関を超えるコツかな」


 僕自身、どうやって再帰を身につけたのか覚えていないのだ。

 こういうところは、まだまだ未熟だと痛感する。


「なんか、その説明だと、全然納得行かないんですけど」


 生徒としての恵ちゃんは昔から辛口だった。


「でも、真面目にやると、数時間かかるよ。今度、いい説明用意しておくから」

「わかりました。どうにも、不完全燃焼ですけど」


 全く、真面目なことで。

 昔から、納得が行かない事に出会うと、質問攻めにして来たものだ。


「ところで、裕二君。なんでもないように言ってますけど……」

「うん?」

「ひょっとして、何か、偉い人だったりしません?」


 ぎく。そこはあえて言わないようにしてたんだけどなあ。


「いや、僕はただのITエンジニアだって。そこそこ書けるだけの」

「じゃあ、ちょっと検索してみますね」


 ああ、普段、実名で活動してるのが仇になった。


「やっぱり。裕二君、なんかスター扱いじゃないですか。論文?も色々出してますし、インタビューまで……」

「いやいや、ちょっと、知り合いにお声がけしてもらっただけで、ほんと、僕は全然……」

「そこまで謙遜することないじゃないですか。私はIT業界のことは全然わかりませんけど、裕二君が一線級だってことはわかります。たぶん、仕事時間に融通が効くのも、そのせいですよね?」


 もう、ほんと、この子は鋭いんだから。


「まあ、一応、凄い人、と言われることはあるよ」


 ただ、そう言われるのは凄い複雑なんだよね。


「いい事じゃないですか。なんで、微妙そうな顔なんですか?」

「それがね。今の会社もだけど、僕の事、やたら敬ってくるんだよ、皆」


 僕はそんな大層な人物じゃないのに。


「尊敬されるのはいいことじゃないですか」

「うん。そうだね。でも、仕事をする以上は同僚。普通に接してほしいんだよ」

「……」

「でも、同僚の皆はそうは行かないみたいでね」

「……」

「だから、実績は他の人の前では伏せてるんだ」


 そのせいで、肩書とか実績でしか僕を見てくれないのはとても悲しいのだ。

 もちろん、皆が皆がそうじゃない。

 ただ、過去には弟子入り希望の子まで居て困ったものだった。


「裕二君も色々苦労してるんですね」

「正直、僕も贅沢言ってるってのはわかってるんだけどね」


 世の中には、実績を上げられずに苦しんでいる人の方が遥かに多い。

 実績を上げて、見上げられるのが寂しいとか、恨まれそうな物言いだ。


「でも、大丈夫ですよ。私にとって、裕二君は裕二君ですから」

「そっか。ありがとね」

「優秀とか関係なくて、昔からのお兄さんで、ちょっと抜けてる、そんな人です」


 はにかみながら、そう言われると、とても照れる。


「……はあ」

「ひょっとして、裕二君、照れてます?」

「僕がもし女の子だったら、胸キュンだよ」

「それなら、良かったです。だから、安心してください」

「うん」

「私にとって裕二君は、優しいお兄さんで、今は大事な恋人、ですか、ら」


 と、何やら、恵ちゃんもやたら顔を赤くしている。


「恵ちゃんも、ひょっとして、照れてる?」

「それはそうですよ。大体、私はずっと初恋、拗らせて来たんですから」

「そうだったね」

「だから、家庭教師はこれまで。後は、お布団でゆっくりしません?」


 と、ベッドにダイブして手招きしてくる。


「あのさ、そんな誘いされると、襲っちゃうかもだけど。いいの?」

「そ、それは。もしするなら、シャワー、浴びたいんですけど」

「ああ、いいよ。いいよ。お布団で、ただ、ゆっくりしよう?」

「別に、求めてくれてもいいんですよ?嬉しいですし」

「いや。考えてみると、沢木さんが居るの思い出した」


 勢いでしてしまっていたら、声が丸聞こえだっただろう。


「あ。すっかり忘れてました」

「だから、そういうのは考えずに、ただ、ゆっくりしよう。ね?」

「わかりました。じゃあ、ほら、来てください」


 布団をポンポンと叩かれる。


「じゃあ、お邪魔するよ」


 ということで、土曜日の午後は、二人でのんびりお昼寝と相成ったのだった。

 ちなみに、夜が近づいて、帰ろうという段になって、


「あら?声はしなかったけど、ひょっとして、何もしなかったの?」


 などと、非常に聞かれたくない質問をされた僕たちだった。

 

(ねえ、今度から、やっぱり、そういうことは、僕の家でね)

(はい。色々いたたまれないです)

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る