ブロック (プログラミング)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

プログラミング言語におけるブロックblock)とは、複数個(0個以上~2個以上。言語により異なる)のなどのコードのまとまりのことである。自然言語における段落に似ている。複文(compound statement)とも言う。

C言語に代表される、{}で囲まれるスタイル、ALGOLにはじまり、その影響を受けたPascalAdaなど、beginendで囲むスタイル、Pythonなどのオフサイドルールによるスタイルなどがある。

自然言語の段落と異なり、ブロックは入れ子にすることができる。すなわち、ブロック内にブロックを作成することができる。

C言語などでは、ブロックは変数スコープ(可視範囲。寿命(エクステント)とは違うので注意)を決定する。すなわち、あるブロック内で定義された変数には、ブロック外からはアクセスできない。JavaScriptのように、ブロックが変数のスコープに影響しない言語もある。

SmalltalkRubyのようにブロックを値(クロージャなど)として取り扱える言語も存在する。なお、Rubyにおける「ブロック」は、メソッド呼び出しに付加する特別な引数のようなものとしてのみ書けるもので、if~endなどはifそれ自体がコードのかたまりの開始のキーワードとして機能するというEiffel風のスタイルを採っている。

[編集]

入れ子になったブロックの例。

int main()
{
  int x = 1;

  if (x == 1)
  {
     x++;
  }
  return 0;
}

関連項目[編集]