arrays – 函数[Hashtable []]参数,可以来自管道或参数
发布时间:2020-12-15 04:24:20 所属栏目:Java 来源:网络整理
导读:这是一个通过参数接受一个哈希表数组的函数: function abc () { Param([Hashtable[]]$tables) $tables.count} 使用示例: PS C: abc -tables @{ a = 10 },@{ b = 20 },@{ c = 30 }3 这是一个通过管道接受Hashtables的函数: function bcd () { Param([para
这是一个通过参数接受一个哈希表数组的函数:
function abc () { Param([Hashtable[]]$tables) $tables.count } 使用示例: PS C:&; abc -tables @{ a = 10 },@{ b = 20 },@{ c = 30 } 3 这是一个通过管道接受Hashtables的函数: function bcd () { Param([parameter(ValueFromPipeline=$true)][Hashtable]$table) $input.count } 使用示例: PS C:&; @{ a = 10 },@{ c = 30 } | bcd 3 有没有办法定义函数,可以通过参数或管道通过相同的参数接受哈希表数组?即可以用上面显示的两种方式调用的函数.请注意,我需要在单个变量中使用整个哈希表数组(因此在bcd中使用上面的$input). 解决方法function bcd () { Param([parameter(ValueFromPipeline=$true)][Hashtable[]]$table) Begin {$tables= @()} Process {$tables += $table} End {$tables.count} } @{ a = 10 },@{ c = 30 } | bcd bcd -table @{ a = 10 },@{ c = 30 } 3 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |