我想使用splatting语法,但我想内联
所以而不是:
$p = @{Path = '.'}
ls @p
我想做
ls @@{Path = '.'}
但这是语法错误。 反正是否需要splat一个哈希表而不必写一个单独的变量?
为什么我要这样做?我更喜欢哈希表语法来定义很多参数(比如4或更多)。但我宁愿不定义变量,我只想让我在哈希表定义的“顶部”调用cmdlet。
答案 0 :(得分:2)
splat运算符将查找名称与splat符号后面的字符匹配的变量,它不会尝试将符号后的字符解析为获取值的语句。你不能内联。链接到TechNet。
答案 1 :(得分:0)
正如Francois所说,这还不可能,但是,在GitHub上的PowerShell RFC存储库中添加扩展的splatting功能(特别包括这个功能)有一些讨论: