プログラミング言語におけるブロック(block)とは、複数個(0個以上?2個以上。言語により異なる)の文などのコードのまとまりのことである。自然言語における段落に似ている。複文(compound statement)とも言う。
C言語に代表される、{と}で囲まれるスタイル、ALGOLにはじまり、その影響を受けたPascalやAdaなど、beginとendで囲むスタイル、Pythonなどのオフサイドルールによるスタイルなどがある。
自然言語の段落と異なり、ブロックは入れ子にすることができる。すなわち、ブロック内にブロックを作成することができる。
C言語などでは、ブロックは変数のスコープ(可視範囲。寿命(エクステント)とは違うので注意)を決定する。すなわち、あるブロック内で定義された変数には、ブロック外からはアクセスできない。JavaScriptのように、ブロックが変数のスコープに影響しない言語もある。
SmalltalkやRubyのようにブロックを値(クロージャなど)として取り扱える言語も存在する。なお、Rubyにおける「ブロック」は、メソッド呼び出しに付加する特別な引数のようなものとしてのみ書けるもので、if?endなどはifそれ自体がコードのかたまりの開始のキーワードとして機能するというEiffel風のスタイルを採っている。 入れ子になったブロックの例。int main(){ int x = 1; if (x == 1) { x++; } return 0;}
例
関連項目
構造化プログラミング
スコープ
クロージャ
基本ブロック
更新日時:2014年4月2日(水)07:52
取得日時:2015/10/29 11:10