クリエイター手抜きプロジェクト[168]学習編 フラグ(Flag)って何?/古籏一浩

投稿:  著者:  読了時間:4分(本文:約1,700文字)


プログラムでよく出てくるものとして「フラグ(flag)」があります。日本語に訳すと「旗」になります。このフラグというのは、状態を示しておくのに使われます。

例えば、計算中であるとか、ファイルの処理中である、キャンセルボタンが押されたなど、いろいろな状態を示す場合に使います。

また、処理したけどこういう結果になりました、という結果を返す場合にも使われます。例えば、確認のダイアログで「はい」「いいえ」の2つの状態しかない場合に利用されます。



基本的にフラグは「0」か「1」か、といった2つの状態を示す場合に使います。3つの状態を示す場合には、フラグではなくて変数などにどうなっているかを入れておきます。

まあ、コンピューターが0と1で動いているわけですから、その状態を示す場合に便利なのがフラグというわけです。

このフラグですが、プログラム言語によって状況が異なっています。多くの言語ではフラグは「true」か「false」のどちらかの値を指定します。
JavaScriptの場合であれば、以下のように変数にフラグの値を指定できます。

flag = true;

これでフラグが立った(trueになった)状態になります。逆にフラグを降ろす場合にはfalseを設定します。

flag = false;

ここで使ったflagというのは単なる変数名なので、flagでなくてkuraraでもgundamでも構いません。

また、必ずtrueとfalseでないと駄目というわけでもありません。trueやfalseが使えないプログラム言語では、trueの代わりに1や-1を、falseの代わりに0を入れて利用します。

まあ、フラグは2つの状態のうち、どちらかしか示さないわけですから自分のプログラムで使う分には自由です。特に制限はありません。
フラグが立っているかどうかはif命令などを使って書きますが、フラグがtrueかどうか調べるのには、以下のように書かれることがあります。

if (flag) 〜

これは

if (flag == true) 〜

とほぼ同じです(ここもプログラム言語によって違いがあります)。
また、以下のように!が付いている場合もあります。

if (!flag) 〜

これは

if (flag == false) 〜

と同じです。なぜ、if (!flag)のように!を付けて書くのかというと「trueでなかったら、〜する」という意味にしたいためです。falseだったら〜するよりも意味が通じやすい場合に使います。

余談ですが、日本語だとtrueを真、falseを偽として雑誌や書籍などに書かれることがあります。


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

さすがにガソリン価格が、これだけ上昇して来月さらに値上がりするとなると撮影しに行くのが難しい。とりあえず、今のうちに追加できるだけ追加したいところ。なのに、撮影に行くと天気が悪い……。長い赤信号ではエンジン切ってます……。
・ハイビジョン映像素材
< http://www.openspc2.org/HDTV/ >

撮影しに行くより、これからは家でおとなしくプログラムやページでも作っているのがよさそう。あとは畑で石拾いでもするといったところで……。先週の総理のメールマガジン以下の一言は面白かった。
()内は勝手に付け足しましたf(^^;
「(自民党や官僚が)困っているときこそ、福田康夫です」

photo
prototype.jsパーフェクトリファレンス―Ajax実践プログラミング
古籏 一浩
アスキー・メディアワークス 2008-04
おすすめ平均 star
star本の出来は最高です。

ActionScript 3.0 アニメーション



photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

[改訂版] PHP ポケットリファレンス (Pocket reference) 改訂新版 SQLポケットリファレンス (Pocket reference) 基礎 Ajax + JavaScript 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE) 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎



photo
ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
田中 康博 古籏 一浩 林 拓也
毎日コミュニケーションズ 2005-12
おすすめ平均 star
starFlash(ActionScript)の開発前の調査にも役立ちます
star良書です。

Flash逆引きクイックリファレンス 8&MX2004対応for Windows & Macintosh Flash Hacks―プロが教えるテクニック&ツール100選 速習Webテクニック FLASH8 ActionScript 実例サンプル47 (Quick master of web technique) FLASH ActionScript スーパーサンプル集 1.0/2.0対応版[CD-ROM付き] ActionScriptビジュアル・リファレンス (Web Designer’s Handbook Series)

by G-Tools , 2008/05/19