【发布时间】:2012-10-07 12:25:27
【问题描述】:
将哈希表传递给我的 PowerShell 函数时,它抱怨它收到了一个对象。
Function ExtendHash(){
param(
[hashtable] $source,
[hashtable] $extender
)
...
}
和调用者:
$hash1 = @{One = 1; Two = 2}
$hash2 = @{Two = 22; three = 3}
ExtendHash($hash1, $hash2)
无法将 System.Object[] 类型的 System.Object[] 值转换为 System.Collection.Hashtable 类型
那么我该如何做呢?有什么建议吗?
另外,我是否缺少内置的东西?我想要与 JavaScript 用于扩展默认选项(合并和覆盖默认值)的相同模式。
【问题讨论】:
-
对于您的哈希表,您不应该使用分号而不是逗号 - 即。 @{One = 1, Two = 2} 应该是 @{One = 1;二 = 2}
标签: powershell hashtable