ブロックはエクスプレッションのグループで、1 つのエクスプレッションに代えて使用できます。ブロックは中カッコで囲みます。
{
print("Hello there.");
print("Glad to meet you.");
print("So long!");
}
if (condition)
exp1
exp1 は次のように単一のエクスプレッションでも構いません。
if ($x > 5)
print("It's more than 5!");
...または、次のようにエクスプレッションのブロックでも構いません。
if ($x > 5) {
print("It's more than 5!");
$x = 0;
$y++;
}
MELでは、大半の言語とは異なり、ブロック内に文が 1 つしかなくても、ブロック内のすべての文の末尾にセミコロンを付ける必要があります。
if ($s > 10) {print("Glonk!")} // Syntax error.
if ($s > 10) {print("Glunk!");} // Notice the semicolon.
ブロック内で宣言されたローカル変数はそのブロック内でしか認識されないため、ブロックは変数の適用範囲を制限するのにも便利です。
int $test = 10;
{
int $test = 15;
print($test+"\n");
}
print($test+"\n");
// Result:
15
10