PowerShell 中的变量范围
Scope of variable in PowerShell
我想知道以下 PowerShell 脚本中变量 $crazy
的范围:
function Test1 {
Write-Host $crazy
}
function Main {
$crazy = Read-Host "Type anything"
Test1
}
Main
我原以为 $crazy
仅在 Main
函数中可见,但令我惊讶的是,函数 Test1
能够访问它。我可以保证我的 PS 会话中没有先前声明的 $crazy
变量。
老实说我没有完全理解 about_scope 所以我使用 ISE 通过脚本调试并使用以下模式测试变量的范围 $<scope>:$crazy
并且变量没有甚至出现在我使用过的每个示波器中。
在这种情况下,$crazy
作用域为 Main 函数,因此它在 Main
内部可用,因此可用于 Main
调用的任何函数。如果您尝试从 Main
之外调用 $crazy
,您会发现它尚未设置。有帮助吗?
我想知道以下 PowerShell 脚本中变量 $crazy
的范围:
function Test1 {
Write-Host $crazy
}
function Main {
$crazy = Read-Host "Type anything"
Test1
}
Main
我原以为 $crazy
仅在 Main
函数中可见,但令我惊讶的是,函数 Test1
能够访问它。我可以保证我的 PS 会话中没有先前声明的 $crazy
变量。
老实说我没有完全理解 about_scope 所以我使用 ISE 通过脚本调试并使用以下模式测试变量的范围 $<scope>:$crazy
并且变量没有甚至出现在我使用过的每个示波器中。
在这种情况下,$crazy
作用域为 Main 函数,因此它在 Main
内部可用,因此可用于 Main
调用的任何函数。如果您尝试从 Main
之外调用 $crazy
,您会发现它尚未设置。有帮助吗?