- 登場人物 -

エル:駆け出しの素人プログラマーの少年。

マスタ:キャリアとスキルの高いPL級の男。年齢不詳で謎多き人物。

レア:街に店をかまえる武器商人の娘。


【あらすじ】

ひょんなことから、パラレルワールド「アイティギョーカイ」に飛ばされた少年エル。

この世界では、プログラムと呼ばれる魔法言語が発達した世界であった。

少年エルは、この世界で生き延びるため、プログラムを習得すべく、ピンチを救って

くれた謎の男マスタの元でプログラム修行をすることになった。

マスタから2つの財布を渡されたエルは、夕刻までに街でビールを購入し、マスタのいる

山に戻らなければいけない。

だが、エルは肝心の財布を開ける術がわからないでいた。



そして、ふと立ち寄った武器屋の店内。

武器屋の店員レアとの会話の中で、エルは「財布を開けるヒント」に、たどり着いたのだった。


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


エル「そうか、そうなんだよ。 ぼくの知っている『イコール魔法』では、同じモノ同士でも

イコールとならないモノも出てくるんだ」

レア「・・・ふあ?」

エル「・・・たまたま、これまでは、ぼくの『イコール魔法』に引っかかるモノ同士でTrueに

なっていたけれど、もし、次に『この財布』みたいな敵に出会ったら、ぼくは間違いなく

勝てない・・・」

レア「・・・おーい?(エルの顔の前で、手を振る)」

エル「・・・マスタさんの言うとおりだ。 ・・・このままでは、ぼくは次の戦闘で死ぬ」

レア「ん? 死ぬ? あなた、死ぬ?」

エル「・・・そう、このままじゃ、ぼくは生き抜くことができない」

レア「あー・・・ 暑いからなあ。(省エネで止めている店内のエアコンを眺めながら)」

エル「・・・そう、暑いから。(そこでハッと顔をあげて) ・・・暑いから?」

レア「・・・なにか飲む?お客さん?」

エル「え? あ、いや、ここ、武器屋だよね? 喫茶店じゃないよね??」

レア「似たようなもの? 同じ『お店』で、イコールイコール」

エル「・・・いや、武器屋と喫茶店はFalseだと思うけど。デバックする前から誰でもイチモクちっくに。

 『if(武器屋 == 喫茶店){ System.out.println("True") }else{ System.out.println("False") } )』・・・」

レア「・・・こまかい」

エル「いやいや、ここ、重要ですよ? ってか、本当の意味で、死活問題だし」

レア「あら、死活はだめ」

エル「いや、あんまりぼくの緊迫感が伝わっていないようなんですが・・・ まあ、あなたには

関係ないことだけれども」

レア「ふむ。なにがお困り?」

エル「・・・え?いや、なんだろ。ぼくの使ってる『イコール魔法』では、対応出来ない対象物(オブジェクト)

があるみたいなんだ」

レア「じゃあ、対応出来る『イコール魔法』も使ったら?」

エル「対抗出来る『イコール魔法』? この2つの財布をTrueに出来るような『イコール魔法』?」

レア「そそ」

エル「え? でも、イコールは、『==』でしょ?『=』がひとつだと、代入しちゃうだけだし・・・」

レア「『=』・・・ わたし、記号嫌い」

エル「そんなこと云われても・・・」

レア「カッコよく、英語にしたら?『equal !!!』って。フフ(ちょっと魔法を使ったポーズを取って、喜ぶ)」

エル「いや、『equal』ってないから。そんな魔法。そもそも、単数形だし。出来ても、代入でしょ・・・」

レア「じゃあ、『s』つけちゃえ」

エル「そんな安易な・・・ はっ!(気付く) そうか・・・」

レア「そうだ(わかってない)」

エル「そうなんだ・・・ それか!」

レア「それだ(やっぱりわかっていないけど、エルの言葉に合わせてみる)」

エル「(右手と左手にそれぞれ財布を乗せ)

 『 if ( 右財布.equals(左財布)) { 開け、財布っ!! } 』 っ!!!!」」


True(エルの魔法に反応し、光に包まれた財布が宙に浮かび、そのジッパーがゆっくりと動き開いていく)


レア「おお・・・ なんて偉そうな財布の開け方」

エル「やったっ!! これだったんだあ!! これが、もうひとつの『イコール魔法』なんだ!!

対象(オブジェクト)が違う中身が同じ100バイトのモノをイコールでTrueにするには、equals魔法を

使えばいいのか!! ==魔法では、だめだったんだあっ!!(2つの財布から出てきた2枚の

100バイト硬貨を、手のひらに乗せ、神妙なまなざしで眺める)」

レア「・・・まあ、いいや。はい、飲み物お待ち(自分のブドウジュースの缶に口をつけながら)」

エル「あ、ああ・・・ ありがとう。(ぼんやりと渡された缶を受け取りながら)」

レア「うん」

エル「いや、ほんと、ありがとう! ぼく、わかったよ! ちょっと、前より一歩進んだ気がする」

レア「200バイト(片手を出しながら)」

エル「・・・え?」

レア「まいど」

エル「ええっ?! このタイミングで、『この200バイト』、取ろうとするっ?!!」

レア「する。これ、商売」

エル「はああぁ・・・ なんだ、そりゃ・・・(ふと、手元の缶をみて) 缶ビール?」

レア「暑い時には、これなんでしょ?」

エル「をを。 ミッションコンプリ?」

レア「コンプリケーション?」

エル「いや、コンプリケーション(混乱)してどうするの・・・」

レア「てへ」

エル「ま、まあいいけど・・・」


こうして、エルは苦心の末、財布を開け缶ビールを手にすることが出来た。

そして、それと同時に、プログラム魔法の奥深さを改めて認識するのだった。


























- 登場人物 -

エル:駆け出しの素人プログラマーの少年。

マスタ:キャリアとスキルの高いPL級の男。年齢不詳で謎多き人物。

レア:街に店をかまえる武器商人の娘。


【あらすじ】

ひょんなことから、パラレルワールド「アイティギョーカイ」に飛ばされた少年エル。

この世界では、プログラムと呼ばれる魔法言語が発達した世界であった。

少年エルは、この世界で生き延びるため、プログラムを習得すべく、ピンチを救って

くれた謎の男マスタの元でプログラム修行をすることになった。

マスタから2つの財布を渡されたエルは、夕刻までに街でビールを購入し、マスタのいる

山に戻らなければいけない。

だが、エルは肝心の財布を開ける術がわからないでいた。



一方、街では。

武器商人の娘が、今日もまた、多忙とは対極的な「 店番 」業務に精を出すのだった。


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


客A「やあ、レアちゃん。何か、いい品は入ったかい?(カラランとドア鈴を鳴らし、店内に入る)」

レア「・・・あ。 んー、いらっしゃいませ? 客?」

客A「客、客」

レア「あー、客かあ。 じゃあ、これなんかどう?(読んでいた本を閉じ、カウンターの下から品を出す)」

客A「・・・それは?(前言を気にしながら)」

レア「・・・新製品の、struts2。キレ味抜群。今なら、まろやかawtとセットで、3万5千バイトでいいわよ?」

客A「・・・それは、セットにしなくてもいいのでは?」

レア「・・・そうかなあ?」

客A「・・・そうです。 それに、俺、VB使いだし」

レア「・・・リプレイス、リプレイス♪」

客A[・・・いや、今更ジョブチェンジは]

レア「・・・まいど、あり?」

客A「・・・いや、まいどありません。 また来ます。(肩を落として、店を出て行く)」

レア「・・・ひやかしかあ。(再び、本を広げてさっきの続きを読み始める)」


・・・ ・・・


客B「すいませーん、何か武器、ありますか?(カラランとドア鈴を鳴らし、店内に入る)」

レア「何か武器、ありますよ?(再び、本を閉じる) 何がいい?」

客B「じゃあ、よく切れるやつを。」

レア「・・・サーブレットはいかが?このナイフ、よく切れるわよ?」

客B「・・・なんか、刃物だけで、持つところがないんですけど、それ」

レア「持つところ?柄? JSP? 別売りだけど、高いわよ?」

客B「・・・じゃあ、いいです。他には?」

レア「・・・このJavascriptは? デザイン斬新で、切れ味定評♪豊富な機能♪千差万別♪」

客B「・・・じゃあ、ちょっとその剣、試し斬りしてみていいですか?」

レア「・・・誰を?」

客B「いやいや、あなたじゃない。人じゃないです」

レア「・・・人じゃないもの?」

客B「そうそう。この財布。 なぜか、開かなくて」

レア「・・・ぱくり?」

客B「ぱくってはないです。ちょっと、貸してくださいね(カウンターに乗っていたJavascriptを手にとり、

財布を一閃する)」

レア「・・・キレた?」

客B「・・・キレてないです。ってか、語気が違うし」

レア「・・・なにがしたいの、お客さん?パフォーマンス?」

客B「・・・ううん、そうじゃなくって。もしかしたら、何か武器で、財布の中身が取り出せるかな、と思って。

本当は、『イコール』魔法で財布を開けられるらしいんだけど。。。」

レア「・・・じゃあ、魔法使えば?」

客B「それが、『イコール』魔法を使っても、財布が開かなくって」

レア「・・・じゃあ、違う魔法を使ったら?」

客B「をを。例えば?」

レア「break文」

客B「・・・いや、なんか壊せそうだけど、break文は前提として、条件系の魔法を使わないと意味ないし」

レア「じゃあ、continue」

客B「・・・何に、コンティニューですか?何も続かないですよ」

レア「そっか」

客B「・・・でも、魔法に詳しいんですね。さすが、武器店のひと」

レア「へへへ」

客B「はあ。。。 でも、やっぱ、『イコール』魔法じゃないと駄目ってことかあ」

レア「・・・わたし、『イコール』魔法、見たいなあ」

客B「ん? ああ、いいけど。。。 じゃあ、なにか、モノをふたつ貸してもらってもいい?

   出来れば、ふたつとも、同じものがいいんだけど。。。」

レア「同じモノをふたつ? じゃあ、『フルーツ』と『果物』。(右手にリンゴ、左手にバナナをかざす)」

客B「・・・いや、それ、やる前からFalseだから」

レア「・・・そっかあ。 じゃあ、1000バイト札と、1000バイト札♪(2枚の1000バイト札で両目を覆う)」

客B「うん、それなら!

   『if(1000バイト札 == 1000バイト札){ System.out.println("本物でした") })』 っ!!」


True (「本物でした」という文字が、レアと客Bの頭上に出現し、ひらひらと店内を舞う)


レア「わあ。飛んだ」

客B「・・・うん。1000バイト札同士は、Trueなんだ。 でも、なんで、同じ100バイトが入っている

   財布同士は、Falseなんだろ。。。」

レア「・・・だって、財布、違うじゃない」

客B「えっ?!」

レア「えっ?」

客B「『え?』じゃなくて・・・ どーいうこと?」

レア「ん? だって、その2つの財布は、違うものでしょ?」

客B「・・・そっか。 中身が同じでも、イコール魔法の2つの対象(オブジェクト)が違うから、falseに?」

レア「わたしに聞くな」

客B「・・・はい、すみません」


一人勝手に盛り上がっているが、購入するつもりがさらさらない客を相手に、

レアの店番業務はまだなお続くのであった。



















- 登場人物 -

エル:駆け出しの素人プログラマーの少年。

マスタ:キャリアとスキルの高いPL級の男。年齢不詳で謎多き人物。


【あらすじ】

ひょんなことから、パラレルワールド「アイティギョーカイ」に飛ばされた少年エル。

この世界では、プログラムと呼ばれる魔法言語が発達した世界であった。

少年エルは、この世界で生き延びるため、プログラムを習得すべく、ピンチを救って

くれた謎の男マスタの元でプログラム修行をすることになった。



古くから伝わる『ビール見式・志向判別法』で、エルが『オブジェクト志向』タイプと

いう事がわかり、マスタの修行は次の段階に移行するのだった。


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


マスタ「さて、お前の志向もわかった。よかったな、攻防バランスのとれた『オブジェクト志向』

タイプだ。正式にはオブジェクトオリエンテッドタイプ(object-oriented type)。。。

通称『ダブルオー』タイプだ。」

エル「。。。なんか通称はカッコいいんですけど、でも、その「ooタイプ」は、どの言語使い

を指すんですか?」

マスタ「主に、Java使いや、Cプラ使いだ。 お前は運がいい」

エル「Java使いも、ダブルオーなんだあ!やった!」

マスタ「フッ... さて、修行が始まっても、まだ喜んでいられるかな?」

エル「えっ... ?」

マスタ「。。。先ほどの戦闘で、お前は『イコール』を使ったな?(第02話参照) 思い出せ」

エル「え? は、はい。 確かに、バグを倒すのに、『==』を使いました。

でも、『=』自体は、どの魔法言語にも共通する、ごく一般的で初歩的な呪文の筈です。

特に、問題はないと思うのですが。。。」

マスタ「...ほう。」

エル「?」

マスタ「。。。今のままなら、お前は次の戦闘で死ぬな」

エル「えっ?! なっ、なんでですっ!! ぼくの『イコール』の何が悪いんですかっ!

教えてくださいっ、マスタさん!!」

マスタ「。。。今のお前に、口頭で教えても無駄だ。 『コレ』を、受け取れ(何かを投げる)」

エル「! わっ、えっ?(マスタが投げてよこした『ソレ』を受け取る) 。。。2つの財布?」

マスタ「そうだ。今、お前に渡したのは『2つの財布』だ。

そして、2つの財布には、それぞれ、『100バイト(※バイト:この世界の通貨)』が入っている」

エル「2つの財布に、それぞれ100バイトのお金。。。 合わせて、200バイト。。。?」

マスタ「・・・その財布は特殊でな。『魔法』を使わないと開かないようになっている。

ちょうど、いい。この山を降りて、今から街まで行ってビールを買って来い。

ちょうど『200バイト』で、購入できる。」

エル「をを。。。 ぱしりですか。 ...魔法。 そうか、『イコール魔法』を使って、開けるんですね?!」

マスタ「フッ... 察しがいいな。 やってみろ」

エル「はいっ! 『 if ( 右財布 == 左財布) { 開け、財布っ!! } 』 っ!!!!」


False


エル「えっ?! false.... ?! 右の財布も、左の財布も、同じ100バイトなのに?!」

マスタ「フッ」

エル「あ、そっか。。。 実は、逆にするとか。。。?

    『 if ( 左財布 == 右財布) { 開け、財布っ!! } 』 」


False


エル「え?! 開かないっ?! 。。。実は、財布の中身がそれぞれ、違うとか??」

マスタ「・・・財布の中身は、どちらも『100バイト』だ。 なぜtrueにならないか、考えろ」

エル「な、なんでだ。。。 わからない。。。」

マスタ「制限時間は、夕刻だ。 俺はここで待っている。 お前は、夕刻までに山を降り、

街まで行き、財布を開けて200バイトのビールを購入し、そしてここに戻ってこい。」

エル「ええ、そんな?! 財布の開け方も、わからないままなのに。。。 !!」

マスタ「言っておくが、『 != 』でtrueにしても財布は開かないから覚えておけ。」

エル「。。。ううっ」

マスタ「。。。出来なければ、それまでだ。 そのときは、プログラマはあきらめろ。」

エル「。。。くっ!」

マスタ「いいのか、こんなところでのんびりしていて?」


エル「・・・。 わかりましたっ。 必ず、夕刻までに、この財布を開けてビールを買って

戻ってきますっ!!(びっ、とマスタを指差して) 」




こうして、早くも窮地に立たされたエルは、2つの財布を握り締めながら、

山を降り、街を目指すのだった。