表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
異世界の魔法はJavaScriptで起動する  作者: あきらメル
第2章 入門編
12/30

入門編『文字列演算子』

「ダブルクォーテーション『”』で囲まれているから、『こんにちは、エイダ』は文字列だよね?数じゃないから足せないよ?」


エイダの問いかけに魔導書は答える。


「うむ、では実際に動かしてみよう」


警告文アラートに『こんにちは、エイダ3』と表示された。エイダは結果について、しばらく考える。


「えっ〜と、普通に文字として、くっ付いた?」


「そう。足し算のどちらかの値が文字列の場合、文字列をくっ付ける計算になる。両方とも数の場合は、普通の足し算になる。ちなみにこの『3』は『さん』と読むので、『エイダさん』と読…」


「『+』の他の演算子で、文字列を変化させるのはあるの?」


どうでもいい事を説明してたので、エイダはスルーして質問をした。エイダの父親も時々、面白くもないギャグを挟んでくるので扱いには慣れている。


「いや、『+』以外はないかな。他の演算子だと『NaN』になってしまう」


若干ショックを受けている魔導書は、実際に『+』を『−』にして実演してみせる。警告文アラートで『NaN』と表示される。


「NaN?」


「『Not a Number』。英語で『数じゃないよ』の頭文字を組み合わせた単語」


魔導書の説明に、エイダは今まで気になっていた事を聞く。


「『alert』とか『script』とか『Not a Number』とか全部英語ばかり。何で普段使っている『日本語』で術式は組めないの?」


「英語を喋っている人達が、プログラムの基礎を開発したから、英語がベースなんだと思う」


「えっ?英語を喋る人達がいたの?英語って魔術を扱う為だけの言葉かと思ってた」


エイダが住む世界の共通語は日本語である。英語など魔術を極めようとする酔狂な学者しか学ばない学問であった。そんな英語を普段の会話に使うなど、エイダが驚くのも無理はない。


元の世界(そこで)は英語が共通語だったので、世界各国みんな英語を喋る人は多かった。逆に異世界こっちの共通語が日本語だと聞かされて、驚いたぐらいだ」


「? 魔導書さんは、そこにいた事があるの?」


「という言い伝えを聞いた事があるような?」


「ん?」


茶をにごしたような答えに、首を傾げるエイダであった。魔導書は話題を変える。


「こほん。話がだいぶれてしまったな。授業を再開しよう。これはどうなると思う?」


<script>

alert(1+2+"ダー!");

</script>


「1と2が足されて3になって、文字列の"ダー!"とくっ付くから『3ダー!』?」


なんかよくわからない言葉に、不思議に思いながらエイダは答える。


「その通りダー!」


変なテンションの魔導書の声と共に、ページには『3ダー!』が表示される。


「それではこれはどうかな?」


<script>

alert("エイダ"+1+2);

</script>


「これも同じように『エイダ3』」


「残念!」


ガッツポーズしてるような勢いで、魔導書は答えた。警告文アラートには『エイダ12』と表示されている。


「えー、何で?」


「足し算が続く場合、前から順に計算するって教わった?」


エイダは母の厳しい授業を思い出し答える。


「うん」


「『"エイダ"+1+2』のように+が複数ある場合、どれから計算されると思う?」


「『"エイダ"+1』から」


エイダの答えに満足そうに、魔導書は説明を続ける。


「そう、『"エイダ"+1』が先に計算される。そして片方が文字列なので、くっ付ける計算が行われ『エイダ1』が作られる。そして次に計算されるのが『"エイダ1"+2』。これも文字列+数字の処理が行われ『エイダ12』となる」


「わかった」


「文字列をくっ付ける演算子に『+』を使うからややこしくなるのかもしれない。他のプログラム言語、例えばperlでは『+』ではなく、『.』が使われている」


「プログラム言語って沢山あるの?」


「多分、数百はあると思う」


プログラム一つでも大変なのに、それが数百あると聞かされエイダは目眩を覚えた。


「何でそんなに沢山あるの?一つにしちゃえば良いのに」


「色々な用途に合わせたり、新しい概念コンセプトを元に作られたり、趣味で作ったり。それぞれに強みや個性があって、まぁ一つにまとめるのは無理かな?」


「ふーん、何か色々とあるんだね」


エイダの世界の共通語が日本語でも、地域によっては言葉が違う。貨幣や単位も、いまだ統一はされていない。それと同じように、プログラム言語も統一されないのだろうとエイダは思った。


「『エイダ3』と表示する場合は、『()』をこの様に使えば大丈夫。曖昧あいまいな時は必要なくても『()』を使うのも一つの手だ」


魔導書が授業を再開する。


<script>

alert("エイダ"+(1+2));

</script>


入力領域(エリア)術式スクリプトが入力され、『エイダ3』と警告文アラートに表示される。エイダも納得し、うなずく。


「算術演算子も粗方あらかた終わったし、次に教えないといけない事は……」


魔導書のつぶやきと共に、新しい術式スクリプトが入力されていく。


<script>

var x=1;

var y=2;

alert(x+y);

</script>



書き終わると、魔導書は宣言した。


「次は『変数』を勉強しよう」

ーーーーーーーー ログ ーーーーーーーーーー

エイダは結合けつごう演算子えんざんし『+』を覚えた。

文字列もじれつ演算子えんざんし』スキルがLV1になった。

ーーーーーーーーーーーーーーーーーーーーーー


登場人物


エイダ・ラブレス

挿絵(By みてみん)

冒険者に憧れている9歳の普通の女の子。

魔導書への敬意が、段々と薄まってきている?


職業:術者プログラマ LV1

称号:初心者

スキル:『関数かんすう LV1』『構文こうぶん LV1』『文字列もじれつ LV1』『コメント LV1』『算術さんじゅつ演算子えんざんし LV1』『文字列もじれつ演算子えんざんし LV1 new』

関数:『alert()』

HTMLタグ:『<script>』


喋る魔導書

挿絵(By みてみん)

エイダが森の奥で出会った喋る魔導書。

授業を面白くしようと頑張っているが、方向性は大丈夫か?


作者より


昨日初めてPVが100を超えました。嬉しいですね。当たり前の事なのですが、更新しないとPV増えません。頑張って続き書かないと。明日も更新できたらいいな。


異世界物は言語の問題が必ず生じます。自動翻訳やら言語スキル獲得で言葉の壁を越えるのが普通ですが、このお話ではなぜか異世界で日本語が使われている設定です。


スキルをどんどん覚えていき、レベルMAXになった複数のスキルが統合されていったら面白いかも?


参考にしたページ


式と演算子

https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators


主要でもないプログラミング言語200種を一行で解説。作者もこんなにあるとは知りませんでした。

https://qiita.com/make_now_just/items/b2ab19f954417c71848d


JSfiddleサンプル


文字列演算子でNaN

https://jsfiddle.net/AkiraMeru/kkxtnjkd/4/


3ダー!

https://jsfiddle.net/AkiraMeru/kkxtnjkd/5/


エイダ12

https://jsfiddle.net/AkiraMeru/kkxtnjkd/6/


エイダ3

https://jsfiddle.net/AkiraMeru/kkxtnjkd/7/

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

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

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ