Code Block Delimiter
コードブロックデリミタはスクリプトをコードブロックに区切ります。
変数は宣言されたコードブロックと、その内部のコードブロック(子ブロックや孫ブロック)でのみアクセスすることが出来ます。(変数のスコープとか変数の作用範囲と言います)
コードブロックは左中括弧「{」で始まり、右中括弧「}」で終わります。
関数、ループ(for,while,do)、構造体(struct)および条件分岐(if/else,switch/case)は全てコードブロックデリミタを使用します。
条件分岐とループは、含まれるステートメントの総数が1論理行であればコードブロックデリミタを必要としません。
(1論理行は、セミコロン1つ分の意味。コードエディタで見たときに複数行に渡っていても構いません。セミコロンの項とホワイトスペースの項も参照して下さい)
変数のスコープを定義するためだけに匿名コードブロック(ループや条件分岐などに付随しないもの)を使用することが可能です。
void main() { // main関数ここから // 匿名コードブロック。変数nはこのコードブロックだけで使用可能 { int n = 13; PrintInteger( n ); } // 変数nのスコープはここまで(これ以降は使う事が出来ない int x = 0; // ループの中身が1行の場合はコードブロックデリミタは不要(付けても良い while (x < 10) x++; // このループは複数のステートメントで構成される for (x = 10; x <= 30; x++) { PrintInteger(x); if (x > 25) PrintString("xが25を超えました"); else PrintString("xは25以下です"); } } // main関数ここまで
author: Charles Feduke, additional contributor(s): Frank Succardi, JP team: ohtsuki
Send comments on this topic.