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

フラグを下ろす

pointこの用語のポイント

pointオン(on)/オフ(off)の判定に使う変数に「オフ(off)」に相当する値を入れるよ

pointプログラミングの話で出てくるかもしれないよ

point「フラグを下げる」やその他の言い方をされる場合もあるよ

スポンサーリンク

簡単に書くよ

フラグを下ろす(読:フラグヲオロス)とは

プログラミングの話で出てくるかもしれない表現のひとつ
であり

「オン(on)」か「オフ(off)」のどちらかの状態を表す値が入る変数(プログラミングにおける値を入れておく箱)(フラグ)に「オフ(off)」に相当する値を設定すること
です。


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

先ほどの「フラグ」の説明で使った処理を もう一度 見てみましょう。

支払い済みフラグ = 0;

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

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


この処理における

 支払い済みフラグ = 1;

の部分が「フラグを立てる」処理をやっているところです。

例えば

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


の部分を

お金を払っていたら、支払い済みフラグを立てる処理

と表現したりします。

以上を踏まえて

フラグに「オフ(off)」の状態を設定する行為

が「フラグを下ろす」です。
つまり

「フラグを立てる」と逆の操作

ですね。
フラグとして扱う変数に「false」を設定したり「0」を設定したりする行為を指します。

フラグを下ろす11

フラグに「オン(on)」の状態を設定する行為がほぼほぼ「フラグを立てる」と表現されるのに対し「オフ(off)」の状態を設定する行為には、みんなの共通認識的な表現がありません。
「フラグを下ろす」「フラグを下げる」「フラグを倒す」「フラグを寝かせる」など、様々です。
※個人的には「フラグを下ろす」か「フラグを下げる」が、しっくりきます。

とはいえ、フラグの操作は旗の上げ下げのイメージです。

フラグを下ろす12

そのイメージさえ持っておけば、他の表現が出てきても何となく推測できると思います。

あと「フラグを折る」という表現もありますが、プログラミングの話では使いません。
マンガとかで出てくる死亡フラグのようなものに対して使われる表現です。


image piyo2

一言でまとめるよ

まぁ「フラグを下ろす」って表現が出てきたら「フラグとして使っている変数(プログラミングにおける値を入れておく箱)に『オフ(off)』に相当する値を入れるんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像019
書籍画像010

おまけ

■訳してみるよ

「flag(フラグ)」の意味は「旗」とかです。
「を下ろす」は日本語ですね。
何となく くっつけると

旗を下ろす

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで