「ブロック (プログラミング)」の版間の差分

削除された内容 追加された内容
Rubinbot (会話 | 投稿記録)
m r2.5.4) (ロボットによる 追加: es:Codeblock
編集の要約なし
1行目:
[[プログラミング言語]]における'''ブロック'''('''block''')とは、0複数個(0個以上~2個以上。言語により異なる)の[[文 (プログラミング)|文]](ステートメント)を含むなどの[[ソースコード|コード]]のまとまりの単位ことである。[[自然言語]]における[[段落]]に似ている。
 
[[C言語]]やC言語から派生した言語ではに代表されるブロックは<code>{</code>と<code>}</code>で囲まれるスタイル、[[AdaALGOL]]にはじまり、その影響を受けた[[Pascal]]や[[Ada]]など、<code>begin</code>と<code>end</code>で囲む言語もある。スタイル、[[Python]]では、ブロックはなどの[[字下げオフサイドルール]]によって決定されるスタイルなどがある。
 
自然言語の段落と異なり、ブロックは[[ネスティング|入れ子]]にすることができる。すなわち、ブロック内にブロックを作成することができる。
 
C言語系の言語などでは、ブロックは[[変数 (プログラミング)|変数]]の[[スコープ]](可視範囲。'''寿命(エクステント)とは違うので注意''')を決定する。すなわち、あるブロック内で定義された変数には、ブロック外からはアクセスできない。[[C++]]においては[[インスタンス|オブジェクト]]の寿命(すなわち[[デストラクタ]]が呼ばれるタイミング)を決定する意味ももつ
 
[[Smalltalk]]や[[Ruby]]のようにブロックを値([[クロージャ]]など)として取り扱える言語も存在する。なお、Rubyにおける「ブロック」は、メソッド呼び出しに付加する特別な引数のようなものとしてのみ書けるもので、if~endなどはifそれ自体がコードのかたまりの開始のキーワードとして機能するという[[Eiffel]]風のスタイルを採っている。
 
==例==