|
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
$gv=9686
$funcs = @(
{
echo "GlobalOnRead"
$lv = $gv
Write-Output $lv
}
,
{
echo "CopyOnWrite"
$lv = $gv
$lv += 5050 - 9686
Write-Output $lv
}
,
{
echo "LocalOnWrite"
$lv = $gv
$gv += 5050 - 9686
Write-Output ([String]$lv + ":" + $gv)
}
)
for($i = 0; $i -lt $funcs.length; $i++)
{
Write-Output $funcs[$i].invoke()
}
結果
GlobalOnRead 9686 CopyOnWrite 5050 LocalOnWrite 9686:-4636 PowerShellでのグローバル変数は参照のみ。 変数の値を書き込むやいなや、ローカル変数扱いとなる。 Pythonだとブロック内に書き込むロジックがある時点で ブロックの最初が参照だったらコンパイルエラーになった気がする。 もちろん、配列メンバへの更新はグローバル変数扱い! PR |
|
| ホーム |
忍者ブログ [PR] |


