加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读