↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
Hello 99.9% Worlds!  作者: おでん
8/12

第八話:オブジェクト

俺は、まだ自分が手にした力を前にして、恐怖で手の震えが止まらないでいた。


「師匠、俺は、彼らにどう....俺は....俺は....」


「まあ、そう気負ってもしょうがねえよ、わしにも、そういう経験は嫌というほどあるからな...」


そうやって、俺を気遣う師匠に俺は一生ついていこうと決意した。


「究人、とりあえずおめえにはZoneにおけるオブジェクト生成の作法を叩き込んでやる、移動しながら覚えろ」


「マジですか...そういえばさっきのあれ、あの銃のようなもの、理解できなかった。」


実際全く理解できないでいた。そもそもなぜマンホールに向かって発砲したのか、その後はなぜ不発のようなことが続いたのか。


そんなことをグルグルと考えていた。


「ああ、あれは、バッチっていうもんだ、その前に、UNITxのオブジェクト生成における基本原則は理解しているか?」


「はい、オブジェクトの特性を理解すること、それから、それらを可能な限り分解し、それぞれの要素をラムダと呼ばれる機能群にまとめる。最後にこれらを統合し再構築すること。」


「そうだ、概ねその理解で問題ない、ただ今の究人はあらかじめUNITxにおいて定義済みのラムダを呼び出すことしかできないということだ」


「なるほど...」


師匠の説明はとても的を得ていて、俺は頷くことしかできなかった。


「ラムダを直接呼び出したり扱うことが悪いわけじゃねえ、それにそれぞれのラムダを直列に繋いでいるわけだから、これは使い方を誤ると非常に危険だ」


「つまり、それは結局オブジェクトの生成すら叶わないということだ」


「どうゆうことですか??」


俺は結局中学時代は主にUNITxコマンドを叩いたぐらいだ、実践的なことはあまり経験がない。


「つまり、ラムダ単体では相互に作用させる必要があるオブジェクトは生成できない、オブジェクトというのは本来そういうものだ。それにラムダはネストできる。」


「なんとなくわかったような」


俺は苦笑いをしながらそう答えた。


「まあ手を動かしてみようじゃあねえか」


師匠はカバンから手裏キーボードを取り出して右腕に装着した。


そして追従するプロンプトを俺の前と師匠の前に表示した。


「おお、追従している...すごい」


「ハハ、こんなのはなんでもねえ」


そして片手にも関わらず慣れた手つきでUNITxを記述している。


「今回はUNITxにもともとあるジェネレータとcarライブラリでも使うか、車で移動するぞ」


=============

Zone-4000000000-unitx $ unitx edit car.ut


import car-*

unit Car {

lam accelerator {

car-accelerator()

....

}

lam brakepedal {

car-brakepedal()

....

}

lam clutchpedal {

car-clutchpedal()

....

}

....

}

....

:wq

=============


こんな感じで凄まじい速度でタイプする師匠のプロンプトをみて感動していた。


「す、すごい」


「ああ、車にはこんな感じでアクセルから始まり、ペダルやハンドル、ライトやら、分解していくと結局は全てラムダの集合でしかない、これをオブジェクトとして相互に組み合わせる、別にこれが正解じゃあねえがこれをオブジェクト指向なんて言ったりもする」


その後、何やらコマンドを叩いていた。


=============

Zone-4000000000-unitx $ unitx generate car.ut | ./buletlinker -o carbulet & ; exit

=============


すると、プロンプトが閉じて、師匠の上から一本の銃弾が落ちてきた。


「銃弾?」


「これはそうだな、車を生成するレシピのようなもんさ」


「「パシっ... サク、カシャン、スーーー,ガシャン カチ」」


そうして、銃弾をセットし、トリガーを引くと、一瞬にして前方に車が現れた。


「え、いつの間に、ロードは?、一瞬で現れた...」


「この速度は特別だ、基本的にこの程度でも複雑なオブジェクト生成には時間がかかる、まあおいおい説明するが、今はとりあえず理解できたか?」


「つまり、オブジェクト生成には基本的にラムダを定義し、それらをユニットとして定義すればよいということでしょうか?」


俺は、目を丸くしていた、たった1分で車が量産できることに。


「ああ、まあ理解できたようだな、そうだ、意図しない場合、プロンプトは必ず閉じるように。」


そうして俺たちは車に乗り込み、急いで崩れかけているビルに向かった。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。