Go to the first, previous, next, last section, table of contents.

### `if` 文

`if` 文には

    if ( 式 )             if ( 式 )
        文       及び         文
    else
        文

の 2 種類がある. これらの動作は明らかであるが, 文の位置に `if` 文 が来た場合に注意を要する. 次の例を考えてみよう.

    if ( 式 )
        if ( 式 ) 文
    else
        文

この場合, 字下げからは, `else` 以下は, 最初の `if` に対応する ように見えるが, パーザは, 自動的に 2 番目の `if` に対応すると判断する. すなわち, 2 種類の `if` 文を許したために, 文法に曖昧性が現れ, それを 解消するために, `else` 以下は, 最も近い `if` に対応すると いう規則が適用されるのである. 従って, この例は,

    if ( 式 ) {
        if ( 式 ) 文 else 文
    }

という意味となる. 字下げに対応させるためには,

    if ( 式 ) {
        if ( 式 ) 文
    } else
        文

としなければならない.

関数の中でなく, top level で `if` 文を用いるときは `$` または `;` で終了する必要がある. これらがないと次の文がよみとばされる.

Go to the first, previous, next, last section, table of contents.