使用@调用地图函数

时间:2014-12-05 13:36:24

标签: powershell powershell-v2.0 powershell-v3.0

我遇到了一些我无法理解的语法。这是一个样本

$someList = @( <# ... #> )

$name = "someString"

$myMap = @{
   Name = $name
   Foo = 15
}

Invoke-MyFoo @myMap @someList

@ - Invoke-MyFoo表达式中的符号是什么意思?它做了什么?

1 个答案:

答案 0 :(得分:2)

这是一种称为splatting的技术。它允许您将一组参数作为哈希表或数组传递,而不是使用cmdlet指定它们。

如果您要提出更基本的问题,那么@( )会标识array,而@{ }会标识hashtable