2

通常、これはほとんどのプログラミング言語を検索するだけで答えられるような些細な質問ですが、PowerShell ではそれほど簡単ではありません。

ドット ソースを介してスクリプトを含めるか、モジュールを含めることによって、それらのスクリプト変数が呼び出し元のスクリプトに転送される場合、グローバル変数を持つことのポイントは何ですか?

誰かが私のためにそれを明確にすることができますか?

4

1 に答える 1

3

スコープを持つのは変数だけではなく、関数定義も同様です。

物事をグローバルにする利点は、誰もがそれらを使用できることです。いくつかの関数を定義するモジュールをインポートしていて、それらを使用できないと想像してください。

*Preferenceモジュール内のグローバル変数について... PS が既に持っているさまざまな変数のように、特定の動作を制御できる場合を除いて、私はそれらをめったに使用しません。

ちなみに、スクリプトをドットソーシングするときは、スコープを必ずしもグローバルにするわけではありません。ドットソーシングは、スクリプト用にスクリプトを作成するのではなく、現在のスコープでスクリプトを実行するだけです。したがって、関数内で何かをドット ソース化すると、その関数内のスクリプトからのみ取得されます。

于 2012-05-16T13:36:37.647 に答える