半角スペースと改行 ~ プログラムが魔法でないとわかればプログラマになれる 7

プログラムを区切る半角スペース

そろそろプログラムを変えてみましょう。

let price = 100;
let tax = price * 0.08;
let total = price + tax;
alert(total);

このプログラムをウェブブラウザで動かすと次のように表示されます。

108 と表示されました。特に言及がなければプログラミング言語はJavaScriptを使って説明を進めますが、本書を読み進めるうえではどのプログラミング言語のこと言っているのか気にする必要はありません。

さて、先ほどのプログラムの意味については順番に説明していきますが、まずはプログラムを読むために知っておかなければならない「半角スペース」と「改行」について説明しましょう。

This is a pen. という英文を書くときに This と is と a と pen の間にそれぞれ入るのが半角スペースです。「スペース」ではなくわざわざ「半角スペース」と書くのは私たち日本語を使う人にとっては「全角スペース」も存在するためです。半角スペースと全角スペースは人間の目には横幅が異なる程度ですが、プログラムにとっては全く異なる文字です。ほとんどのプログラムは英語を基本にしていると述べたように、全角スペースを使ってしまうとプログラムは動きません。他にも記号の多くに全角文字が存在しますが、全て半角のものを使用しなければなりません。日本人にとって入力を間違えやすいポイントですので注意しましょう。

先ほどのプログラムをもう一度見てみましょう。1行目だけ抜き出します。

let price = 100;

letprice=100 の間に半角スペースが入力されています。なぜ半角スペースが必要かというと、単語の区切り目がわからなくなってしまうからです。試しに半角スペースを取り除いてみましょう。

letprice=100;

これでは letprice ではなく letprice となってしまい別の単語になってしまいます。では、全ての単語や記号の間には必ず半角スペースが必要なのでしょうか。実は記号の前後は半角スペースがなくても問題ありません。

let price=100;

これは問題のないプログラムです。 price=100; の間に半角スペースがありません。なぜかというと、単語に = を使ってはならないとプログラミング言語のルールで決まっているからです。単語に = が入ることはありえない、つまり = が出てきた段階で単語は終わったと判るため、半角スペースを間に入れなくても良いのです。 =100100; の間に半角スペースがありませんが、理由は同じです。コンピューターにとって区切り目と判断できる場所には半角スペースは不要なのです。

ですが、コンピューターの都合は人間にとってわかりやすいとは限りません。ここは半角スペースが必要でここは不要と都度考えなければならないのは大変ですし、文字と記号が引っ付いていると読みにくいと感じかもしれません。そのため、コンピューターが半角スペースなしに区切り目と判断できる場所であっても半角スペースを入れて良いことになっています。

let price = 100 ;
let price = 100;
let price =100;
let price= 100;
let price=100;
let price          = 100;

これらはすべて同じプログラムです。最後の行はわざと大げさにしていますが、このように半角スペースを複数個入れても問題ありません。プログラムは一字一句間違えると動かないとよく言われますが、このようにどちらでも良いとなっている箇所も多数あります。

さて、続いて「改行」についても説明しましょう。「改行」とはキーボードのEnterやreturnキーで入力できるもので次の行を始めるために入力するものです。メールやWordなど文章入力の経験があればよく使っていると思います。プログラムでも改行が使えます。今回のプログラムは4行になっているので、3回改行したことがわかります。この「改行」はプログラムにとって必要なものでしょうか。

実はコンピューターにとって「改行」は必要ありません。

let price = 100; let tax = price * 0.08; let total = price + tax; alert(total);

改行を全く使わずにこのように1行で書いても、プログラムとしては全く同じ動きになります。あってもなくても良いものです。では、あってもなくても良いのになぜわざわざ「改行」が存在しているのでしょうか。

理由は単純で「人間にとって改行がないと読みにくいから」です。特に私たちが使う自然な言語(日本語や英語など)に比べてプログラムは命令のための単語の集まりですから、箇条書きにした方が読みやすいのです。ですので、改行があってもなくてもプログラムは同じように動きますが、私たち人間が読みやすくなるように適当に改行を入力しても良いようになっています。

ただし、単語の途中で改行するなど、意味を壊してしまう場所に改行を入れることはできません。

l
et price = 100;

例えばこのように改行を入れてしまうとコンピューターは l et price のように let を分けて認識してしまいます。どこで改行するべきか迷う場合は、文の終了を意味する ; の後に改行を入れておくと読みやすくなるでしょう。

>>続きを読む
>>全記事を見る

<最新話にご興味があればフォローお願いします>

この記事が気に入ったらサポートをしてみませんか?