手机
当前位置:查字典教程网 >脚本专栏 >PowerShell >PowerShell实现统计函数嵌套深度
PowerShell实现统计函数嵌套深度
摘要:当你调用某个函数时,PowerShell会增加一次嵌套层次。当一个函数调用了另一个函数,或着脚本,也会增加嵌套层次。今天分享一个函数,它能告...

当你调用某个函数时,PowerShell会增加一次嵌套层次。当一个函数调用了另一个函数,或着脚本,也会增加嵌套层次。今天分享一个函数,它能告诉你的脚本嵌套的层次:

function Test-NestLevel { $i = 1 $ok = $true do { try { $test = Get-Variable -Name Host -Scope $i } catch { $ok = $false } $i++ } While ($ok) $i }

当你调用的函数具有递归调用时,上面的函数非常有用,来看一个调用的示例:

function Test-Diving { param($Depth) if ($Depth -gt 10) { return } "Diving deeper to $Depth meters..." $currentDepth = Test-NestLevel "calculated depth: $currentDepth" Test-Diving -depth ($Depth+1) } Test-Diving -depth 1

当你运行Test-Diving时,函数会调用自己10次。函数使用一个参数来控制嵌套层次,而Test-NestLevel负责返回确切的深度数。

注意这里有个区别:Test-NestLevel返回绝对的嵌套层次,参数会纪录这个函数调用自己多少次。如果Test-Diving被嵌入到另外一个函数中,绝对深度和相对深度会不同。

PS C:> Test-Diving -Depth 1 diving deeper to 1 meters... calculated depth: 1 diving deeper to 2 meters... calculated depth: 2 diving deeper to 3 meters... calculated depth: 3 diving deeper to 4 meters... calculated depth: 4 diving deeper to 5 meters... calculated depth: 5 diving deeper to 6 meters... calculated depth: 6 diving deeper to 7 meters... calculated depth: 7 diving deeper to 8 meters... calculated depth: 8 diving deeper to 9 meters... calculated depth: 9 diving deeper to 10 meters... calculated depth: 10 PS C:> & { Test-Diving -Depth 1 } diving deeper to 1 meters... calculated depth: 2 diving deeper to 2 meters... calculated depth: 3 diving deeper to 3 meters... calculated depth: 4 diving deeper to 4 meters... calculated depth: 5 diving deeper to 5 meters... calculated depth: 6 diving deeper to 6 meters... calculated depth: 7 diving deeper to 7 meters... calculated depth: 8 diving deeper to 8 meters... calculated depth: 9 diving deeper to 9 meters... calculated depth: 10 diving deeper to 10 meters... calculated depth: 11 PS C:>

Test-NestLevel总会返回从当前代码的作用域到全局作用域的嵌套深度。

【PowerShell实现统计函数嵌套深度】相关文章:

PowerShell统计文件夹下文件个数的方法

PowerShell脚本实现检测网络内主机类型

Powershell实现监测服务器连通状态

Powershell使用WPF技术实现弹窗提示实例

PowerShell中实现混淆密码示例

Windows Powershell 进行数学运算

PowerShell中简单的自定义函数和调用函数例子

PowerShell中给函数参数设置帮助信息的例子

PowerShell获取系统环境变量的方法

PowerShell实现统计函数嵌套深度

精品推荐
分类导航