是否可以选择将默认变量范围更改为私有脚本?例如。通过PSDefaultParameterValues?
我不喜欢当父变量在当前范围内定义时从父变量中使用。
Set-PSDebug -strict
$a = 5
function foo() {
Write-Host $a
$a = 8
Write-Host $a
}
foo
$a
这将输出5,8,5
目前我必须在每个变量前加上'private:'。 这将输出“变量'$ private:a'无法检索,因为它尚未设置。”,8,5
一切都如预期,但看起来很难看。
Set-PSDebug -strict
$private:a = 5
function foo() {
Write-Host $private:a
$private:a = 8
Write-Host $private:a
}
foo
$private:a
答案 0 :(得分:1)
我认为你不能从get-help about_scope
除非您明确将项目设为私有,否则父范围中的项目 适用于儿童范围。但是,您创建和更改的项目 除非您明确说明,否则在子范围内不会影响父范围 在创建项目时指定范围。