スコープ

    スコープとは変数にアクセスできる場所を意味します。基本的に変数は作成されたスコープの範囲外からアクセスできません。以下をご確認ください:

    A = 5

    While A < 10
         B = 1    '-----  このループの内側で B を作成しても、このループの外側からアクセスできません。
        A = A + 1  '----- このループの開始前に作成された A はループの終了後も使用可能です。
    Wend

    Print B

    上述のプログラムはコンパイルできません。すなわち、変数 B は WHILE ループにおけるスコープの内側に作成されるため、 WHILE ループの外側からはアクセス不能です。変数 A は WHILE ループの外側に作成されるため、この用例のどこからでも変数 A は利用可能です。つまり、変数は作成した場所よりも深いスコープで扱えますが、作成した場所よりも浅いスコープでは扱えません。スコープは新規ブロックを作成するたびに深くなります。ブロックとはループの内側、関数の内側、あるいはサブルーチンの内側にあるコードのことを意味します。