本記事の概要
PowerShell には、変数に適用されるスコープについてのいくつかのルールがあります。スコープは、変数が使用できる範囲を決定するために使用されます。この記事では PowerShell の変数スコープについて説明します。
Global スコープ
スクリプトのグローバルな範囲で使用される変数に適用されます。
このスコープで宣言された変数は、スクリプトのどこからでも参照できます。
グローバル変数は、 $global: の接頭辞を使用して参照する必要があります。
Script スコープ
スクリプトファイルの範囲で使用される変数に適用されます。
このスコープで宣言された変数は、スクリプトファイルのどこからでも参照できます。
スクリプト変数は、 $script: の接頭辞を使用して参照する必要があります。
Local スコープ
ローカルスコープ内でのみ使用される変数に適用されます。
関数やスクリプトブロック内で宣言された変数は、そのブロック内でのみ参照できます。
ローカル変数は、 $local: の接頭辞を使用して参照する必要があります。
Private スコープ
モジュール内で使用される変数に適用されます。
このスコープで宣言された変数は、モジュール内のどこからでも参照できます。
プライベート変数は、 $private: の接頭辞を使用して参照する必要があります。
Function スコープ
関数内で使用される変数に適用されます。
このスコープで宣言された変数は、関数内のどこからでも参照できます。
関数変数は、 $function: の接頭辞を使用して参照する必要があります。
まとめ
スコープを明示的に指定しない場合、PowerShell はデフォルトでローカルスコープを使用します。また、スコープが異なる場合でも同じ名前の変数を宣言することができますが、各スコープ内での変数は別々のものとして扱われます。
コメント