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

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

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

エラーが発生しました。

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

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

入門編『算術演算子』

<script

>

alert

(

"ボクはわるい魔導書じゃないよ"

)

;

alert

(

"へんじがない、ただの魔導書のようだ"

)

;

</script

>


エイダはしばらく忌々《いまいま》しげにスクリプトを観察していたが、気を取り直して魔導書に問いかけた。


「scriptとalertと『へんじがない、ただの魔導書のようだ』はそのままだけど、間には空白スペース改行リターンは入れられないの?」


待ってましたとばかりに、魔導書は説明を開始する。


「例えば、alertを途中で切ってal ertに分けるとすると『alで何かないか?』『ertの関数はないか?』と魔導書ブラウザが頑張って処理しようとする。しかしalもertも変数や関数では無いので、思った通りに処理されない」


「HTMLタグ名のscriptも同じ理由で切れない。また魔導書ブラウザは『<』にアルファベットが続くとタグの始まりとして処理を開始するので、『<script』はひとかたまりにしないといけない。分けてしまうとタグと認識されず、普通に表示されるだけになってしまう。一旦タグだと処理されると、空白スペース改行リターンを入れてもいい為、『>』は別の行でも大丈夫」


「ダブルクォーテーション『"』またはシングルクォーテーション『'』で囲まれた文字は『文字列』と呼ばれ、魔導書ブラウザにただの文字の羅列られつですよ、命令文コマンドとかでは無いですよと宣言してる感じ。改行リターンを入れると、ついになるクォーテーションが見つからないと文句を言ってくる。因みにスペースは入れても、文字列にスペースが追加されるだけなので問題ない」


長い説明をまくし立てられ少し唖然あぜんとするが、エイダは自分が理解した事を要約する。


「書いてある事が理解できなくなっちゃうから、空白スペース改行リターンは入れられないって事?」


「うん、それ」


何故なぜ回りくどい説明をしたかったのかエイダには理解できなかったが、何か理由があるのだろうと、気を利かせてスルーした。おおかた面倒な伝えなければならない事を、全ていっぺんに済ませておきたかったのであろう。


「さて、エイダは算数は母親にどこまで教えてもらった?」


「足し算、引き算、掛け算、割り算はできるよ。後パーセントとか」


エイダの返答に、安心して魔道書は説明を続ける。


「足し算『+』、引き算『-』、掛け算『*』、割り算『/』は算術演算子さんじゅつえんざんしと呼ばれ、魔道書の術式スクリプトでも頻繁に使われている。まぁ、実際に見た方が早いか。では質問。この術式スクリプトはどう表示されるでしょうか?」


<script>

alert(1+1);//足し算

alert(1-1);//引き算

alert(2*3);//掛け算『×』ではない

alert(4/2);//割り算『÷』ではない

</script>


入力領域(エリア)に文字が綴られる。エイダは新しい文字に気が付き、質問する。


「alertの命令文コマンドの後ろに『//』があるけど、これは何?」


「これは解釈コメントと言って、術者プログラマが伝えたい事や覚え書きを書く時に使う。『//』以降は行の終わりまで無視され、命令文コマンドとして扱われない。コメントを無視するので、実際に処理されるのはこんな感じ」


<script>

alert(1+1);

alert(1-1);

alert(2*3);

alert(6/2);

</script>


「なんで解釈コメントを書いたの?」


「『×』と『÷』の記号シンボルは、javascriptでは『*』と『/』と違うから、エイダに気づいて欲しいと思って。実際に分かり易かっただろ?」


「うん」


頷くエイダ。しかし疑問はまだある。


「何で『*』と『/』の記号シンボル術式スクリプトでは使われるの?」


これには魔導書も、少し困ったように答える。


「プログラム言語の伝統かな?『FORTRAN』と呼ばれる古いのプログラム言語で扱える文字が極端に少なかった為、『*』と『/』が代用されたとか言われている。まぁ他には、アルファベットの『x』と掛け算の『×』と見分けが付かないとか、かな?」


javascriptの他にもプログラム言語があるのに驚いたエイダだが、魔導書も全ての答えを知っているわけではない事にも少し驚いた。


「で、どう表示されると思う?」


魔導書の催促に、エイダは自信を持って答える。


「『2』『0』『6』『3』が警告文アラートで順番に表示される」


「正解」


術式スクリプトが実行され、次々にエイダが答えた数が表示された。


「では質問、この答えは何だと思う?」


<script>

alert(1+2*3);

</script>


「あっ、これお母さんに教えてもらった。掛け算と割り算は、足し算と引き算より先に行うのが規則ルールだから、まず2x3の掛け算を先にして『6』。それに『1』を足すから、答えは『7』!」


「その通り。ちゃんと勉強してるみたいだな」


警告文アラートで『7』が表示される。


ちなみに足し算を先に行いたい場合は、算数と同じように『()』を使う」


<script>

alert((1+2)*3);

</script>


術式スクリプトが入力され、警告文アラートで『9』が表示された。


母から教わった所が出てきて問題なく理解できたので、エイダも少し自慢げだ。そんなエイダに、魔道書はまた意地悪な質問を投げかける。


「それでは、これはどう表示されると思う?」


<script>

alert("こんにちは、エイダ"+3);

</script>


「えっ?」


エイダの拍子抜けした声が響いた。

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

エイダは『"』による文字列もじれつを理解した。

エイダは『'』による文字列もじれつを理解した。

文字列もじれつ』スキルがLV1になった。

エイダはコメント『//』を理解した。

『コメント』スキルがLV1になった。

エイダは加算かさん『+』を理解した。

エイダは減算げんざん『-』を理解した。

エイダは乗算じょうさん『*』を理解した。

エイダは除算じょざん『/』を理解した。

エイダは演算子えんざんしの処理順を理解した。

エイダはグループ化演算子(えんざんし)『()』を理解した。

算術さんじゅつ演算子えんざんし』スキルがLV1になった。

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


登場人物


エイダ・ラブレス

挿絵(By みてみん)

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

日本の小学生と同じくらいの学力?


職業:術者プログラマ LV1

称号:初心者

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

関数:『alert()』

HTMLタグ:『<script>』


喋る魔導書

挿絵(By みてみん)

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

流石にFORTRANは書けない模様。


作者より


活動報告に、一ヶ月の執筆活動のまとめらしきものを書きました。興味ある方はどうぞ。


小説の方、明日も更新できるかな?


参考にしたページ


なぜ『*』が『x』の代わりに使われたか?

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q139458303


四則演算の順序。 念の為。

https://keisan.otona-juku.com/01017four-arithmetic-operations/


JSfiddleサンプル


算術演算子

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


算術演算子の順番

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


算術演算子の順番2

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


文字列演算子

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

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

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

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

↑ページトップへ