2017-10-24 12 views
0

私はPowershellで新しいです。PowerShellの変数の値が保持されません

PSが動作する方法を驚かせるもの、特に変数をどのように保持しているかがあります。

例:

[string]$a=""  
$a = "world" 
$b = "Hello $a" 
write-host $b 

$a = "world2" 
write-host $b 

次が生じているものです。

Hello world 
Hello world 

第2の書き込みホストは、 "こんにちはworld2を" 表示しないのはなぜ?

+2

$a = "world" Set-PSBreakpoint -Variable b -Mode Read -Action { $global:b = "Hello $a" } write-host $b $a = "world2" write-host $b 

それとも単に機能を使用します作業! – Sean

答えて

1

$b = "Hello $a"と書くと、$aの値が消費され、新しい文字列はHello worldになります。

0

などはあなたがこれを行うことができます...あなたは、変数が書き換え中され、

をJPBlancを言った:実は、これはどのようにほとんどの言語である

function SayHello($who){ 
"Hello $who" 
} 

$a = "world" 
SayHello($a) 

$a = "world2" 
SayHello($a) 
+0

機能はありますが、ブレークポイントは使用しないでください! – JPBlanc

+0

これは他のソリューションと同じです。悪い知識はありません... – Esperento57

+0

プログラミング用ではなく、デバッグのためにデバッグエントリポイントを保持する必要があります。 – JPBlanc

関連する問題