[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

フラグ (flag)

pointこの用語のポイント

point変数だよ

pointオン(on)/オフ(off)のどちらかが入るよ

point2つの状態のどちらかを判断するためのものだよ

スポンサーリンク

簡単に書くよ

フラグ (flag)とは

「オン(on)」か「オフ(off)」のどちらかの状態を表す値が入る変数(値を入れておく箱)
であり

2つの状態のどちらかを判断するために使う変数
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは

変数
true
false


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

変数は「プログラミング言語における『値を入れておく箱』」です。

フラグ

true」は「オン(on)/オフ(off)」の表現の片割れで「オン(on)」を意図する表現です。
ピヨ太君が旗を上げ下げするイメージで、旗を上げた状態を指します。

フラグ2

false」は「オン(on)/オフ(off)」の表現の片割れで「オフ(off)」を意図する表現です。
ピヨ太君が旗を上げ下げするイメージで、旗を下げた状態を指します。

フラグ3

以上を踏まえて「オン(on)」か「オフ(off)」のどちらかを表す値が入り、2つの状態のどちらかを判断するために使う変数を指す俗称が「フラグ」です。

先ほど、ピヨ太君が旗を上げ下げするイメージで「true」と「false」を説明しました。

フラグ4

このピヨ太君に相当する変数がフラグです。

フラグ5

フラグには「オン(on)」の状態を表す値か「オフ(off)」の状態を表す値が入ります。

状況次第では「オン(on)/オフ(off)」ではなく「Yes/No」だったり「OK/NG」だったりするでしょうけどね。
とにかく、セットになる2つの状態です。

フラグに設定する値は

オン(on)の状態 → true
オフ(off)の状態 → false


とするか

オン(on)の状態 → 1
オフ(off)の状態 → 0


とするのが一般的でしょう。

ですが、絶対の決まりがあるわけではありません。

オン(on)の状態 → "オン"
オフ(off)の状態 → "オフ"


だって

オン(on)の状態 → 0
オフ(off)の状態 → 1


だって、かまいません。

1.2つの値のどちらかを設定する
2.2つの状態のどちらかを表現する


と決めた変数であれば、フラグとしての役割を果たせます。

フラグの主な使いどころは、2つに枝分かれする条件分岐です。

例えば、そうですね。
「支払い済みフラグ」という名前の変数を用意して、最初は「0」を入れておきます。

フラグ6

お金を払ったら、支払い済みフラグの値を「1」にします。

フラグ7

そうすると、支払い済みフラグの値を見ることで、お金を払ったか否かが判断できます。

支払い済みフラグの値が「0」だったら、まだ払っていません。
「はやく払えよ!」と催促します。

フラグ8

支払い済みフラグの値が「1」だったら、すでに払っています。
特に何もしません。

フラグ9

この処理の流れをプログラムっぽく書くと、以下のようになります。

支払い済みフラグ = 0;

if(お金を払った? == 払った){
 支払い済みフラグ = 1;
}

if(支払い済みフラグ == 0){
 「はやく払えよ!」と催促する;
}


支払い済みフラグには

1(支払い済み)
0(未払い)


のどちらかが設定されます。
これが

1.2つの値のどちらかを設定する

です。

支払い済みフラグを見ると

支払い済み(設定値:1)
未払い(設定値:0)


のどちらの状態か分かります。
これが

2.2つの状態のどちらかを表現する

です。

繰り返しになりますが、支払い済みフラグを見ると

支払い済み(設定値:1)
未払い(設定値:0)


のどちらの状態か分かります。
「支払い済みだったら、この処理をやる。未払いだったら、あの処理をやる」のように、状態によって処理を分けられます。

この話における変数「支払い済みフラグ」のような役割を果たす変数が「フラグ」です。

なお、フラグに「オン(on)」の状態を設定する行為を指して「フラグを立てる」と言います。
例えば「true」を設定したり「1」を設定したりです。

フラグ10

逆に、フラグに「オフ(off)」の状態を設定する行為は「フラグを下す」と言います。
例えば「false」を設定したり「0」を設定したりです。

フラグ11

「この処理のところでフラグを立てて~」とか言うと、専門家っぽい気分を味わえます。
気が向いたら、覚えてあげてください。

あと、ついでなので書いておくと、マンガとかで出てくる「死亡フラグ」は本ページで説明したフラグと同じです。

死亡フラグは神様の「こいつ、死なせる?」の判断基準です。
死亡フラグがオン(on)の状態だったら、死なせます。
死亡フラグがオフ(off)の状態だったら、生き残らせます。

特定の条件を満たすと死亡フラグがオン(on)の状態になります。
例えば「俺、この戦争から帰ったら結婚するんだ」と素敵なセリフを吐いたりですね。
死兆星が見えちゃったりですね。

この状態を指して「死亡フラグが立つ」や「死亡フラグを立てる」と表現します。

そして、あるタイミングで神様が「こいつ、死なせちゃおうかな~?それとも生き残らせようかな~?」を判断します。
このときに神様は、死亡フラグを見て、どうするかを決めるのです。

つまり、死亡フラグが立っていると、いずれ死んじゃいます。
よって「あ~、そんなことを言うと(すると)、演出的に死んじゃうんじゃないの?」な言動を指して「死亡フラグ(を立てる)」と表現したりするのです。

image piyo2

一言でまとめるよ

まぁ「フラグ」って単語が出てきたら「オン(on)/オフ(off)の状態判定に使う変数なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク