Private修飾子で宣言した変数が、編集できるのに参照できない。PowerShellのスコープの変な動き
Follow @venividivici830
Private修飾子で宣言した変数が、functionの中でScript修飾子を介して編集できるのに、参照できない。
環境はmacOS 10.13.5、PowerShell v6.0.2。
ドキュメント読んだけど、この動きはおかしくないか?
test.ps1
実行すると、
$ pwsh test.ps1
In function:
In local: Lennon
確かに下記では編集できているのに、
$Script:name = "Lennon"
下記では参照できていない。
Write-Host ("In function: " + $Script:name)
なぜ?
Private修飾子で宣言した変数が、functionの中でScript修飾子を介して編集できるのに、参照できない。
環境はmacOS 10.13.5、PowerShell v6.0.2。
ドキュメント読んだけど、この動きはおかしくないか?
test.ps1
function read () { Write-Host ("In function: " + $Script:name) } function write () { $Script:name = "Lennon" } $Private:name = "John" read write Write-Host ("In local: " + $Private:name)
実行すると、
$ pwsh test.ps1
In function:
In local: Lennon
確かに下記では編集できているのに、
$Script:name = "Lennon"
下記では参照できていない。
Write-Host ("In function: " + $Script:name)
なぜ?
コメント
コメントを投稿