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)
なぜ?
コメント
コメントを投稿