FreeBASIC マニュアルのトップに戻る

FreeBASIC Scope

目次→実行時ライブラリー参考→変数の宣言SCOPE...←オリジナル・サイト

SCOPE... 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

新しい範囲ブロックを始める命令文

構文:
Scope
[statements]
End Scope

記述:
範囲ブロックで、変数を定義(または再定義)すると、プログラム内で限定した範囲で使えるようにします。

変数が、範囲構造内の Dim で定義(再定義)されると、このローカル作業変数は、その定義(再定義)から範囲の終わりまで、使うことができます。
このとき、範囲外の同じ名前の変数は、無視されて、範囲外の同じ名前でアクセスできません。
範囲ブロック中の命令文は、変数が範囲ブロックで再定義されるまでは、範囲外で定義された変数を使います。

ローカル変数は、個々のスコープ・ブロックの粒度レベルではなく、各手続き(プログラムの主要部分を含む)の粒度レベルで、スタックに予約されます。
したがって、異なるスコープ・ブロックに属するローカル変数は、同じメモリ空間を使うことができます。

スコープブロックの外側でグローバルとして定義された重複シンボルにアクセスするには、プレフィックスとして1つまたはできれば2つのドットを追加します:.SomeSymbol またはできれば ..SomeSymbolWith..End With ブロック内の場合は ..SomeSymbolのみ)。

Scope..End Scope は、-lang qb 方言でコンパイルするときには、受入れられません。

例:
Dim As Integer x = 5, y = 2
Print "x ="; x; ", "; "y ="; y
Scope
    Dim x As Integer = 3
    Print "x ="; x; ", "; "y ="; y
    Scope
        Dim y As Integer = 4
        Print "x ="; x; ", "; "y ="; y
    End Scope
End Scope
Print "x ="; x; ", "; "y ="; y
Sleep


方言差:
QBからの違い:
参照:
変数の宣言に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-09-28 09:47:49
日本語翻訳:WATANABE Makoto、原文著作者:CountingPine

ホームページのトップに戻る

表示-非営利-継承