标签: powershell powershell-v2.0 powershell-v3.0
我遇到了一些我无法理解的语法。这是一个样本
$someList = @( <# ... #> ) $name = "someString" $myMap = @{ Name = $name Foo = 15 } Invoke-MyFoo @myMap @someList
@ - Invoke-MyFoo表达式中的符号是什么意思?它做了什么?
@
Invoke-MyFoo
答案 0 :(得分:2)
这是一种称为splatting的技术。它允许您将一组参数作为哈希表或数组传递,而不是使用cmdlet指定它们。
如果您要提出更基本的问题,那么@( )会标识array,而@{ }会标识hashtable。
@( )
@{ }