論理値リテラル
「true」か「false」だよ
ソースコード内に べた書きしたやつだよ
簡単に書くよ
論理値リテラル(読:ロンリチリテラル 英:boolean literal)とは
人間語で書いたプログラムの元ネタ(ソースコード)の中に直接べた書きした「true」もしくは「false」のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・ソースコード
・リテラル
・true(トゥルー)
・false(フォールス、フォルス)
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ソースコードは「人間語で書いたプログラムの元ネタ」です。
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する
です。
コンピュータさんは人間語が分かりません。
人間様はコンピュータさんの言葉が分かりません。
プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。
次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。
コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。
かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
この話で登場した
人間語で書いたプログラムの元ネタ
を「ソースコード」と言います。
リテラルは「ソースコードの中に直接 書きこんである文字とか数字とか」です。
「リテラル」という用語には馴染みがなくても、プログラミングをするときには絶対に使っているはずです。
例えば、以下の処理が あったとしましょう。
name = "ピヨ太";
age = 18;
この処理は
1.変数「name」に文字列「ピヨ太」を入れる
2.変数「age」に数字「18」を入れる
処理です。
この処理に登場した
・文字列「ピヨ太」
・数字「18」
がリテラルです。
name = "ピヨ太";
age = 18;
もったいぶって書きましたが、たいしたことは書いていませんね。
「リテラル」と聞くとなんかカッコいい響きですが、実際は ただの べた書きした文字とか数字です。
※今回はプログラミングの話で説明していますが、データベースの話とかでも出てくることがあります。その場合でも考え方は同じです。「(SQL文の中とかに)べた書きした文字とか数字とか」がリテラルです。
「true」は「オン(on)/オフ(off)」の表現の片割れで「オン(on)」を意図する表現です。
ピヨ太君が旗を上げ下げするイメージで、旗を上げた状態を指します。
「false」は「オン(on)/オフ(off)」の表現の片割れで「オフ(off)」を意図する表現です。
ピヨ太君が旗を上げ下げするイメージで、旗を下げた状態を指します。
以上を踏まえて
ソースコードの中に直接 書きこんである「true」もしくは「false」
が「論理値リテラル」です。
「論理リテラル」と表現されることも あります。
例えば、そうですね。
以下の処理が あったとしましょう。
if(flg == true){
flg = false;
}
この処理は
変数「flg」の中に入っているのが「true」だったら変数「flg」の中身を「false」に書き換える
処理です。
この処理に登場した
・true
・false
が論理値リテラルです。
if(flg == true){
flg = false;
}
なお、小文字の「true」「false」ではなく大文字の「TRUE」「FALSE」が使われている場合も あります。
そこら辺の表記ゆれは、ゆるく捉えてあげてください。
一言でまとめるよ
まぁ「論理値リテラル」って単語が出てきたら「ソースコード
(人間語で書いたプログラムの元ネタ)に べた書きした『true』もしくは『false』なんだな~」と お考えください。
おまけ
■訳してみるよ
「論理値」は日本語ですね。
「literal(リテラル)」の意味は「文字の」とか「文字通りの」とかです。
何となく くっつけると
論理値、文字通りの
となります。
■検索してみる?






