Hon*_*scz 8 powershell initialization hashtable
我有一个理论问题 - 如何在初始化期间引用哈希表,例如,计算基于其他已经声明的成员的成员.
Remove-Variable myHashTable -ErrorAction Ignore
$myHashTable =
@{
One = 1
Two= 2
Three = ??? # following expressions do not work
# $This.One + $This.Two or
# $_.One + $_.Two
# $myHashTable.One + $myHashTable.Two
# ????
}
$myHashTable.Three -eq 3 # make this $true
Run Code Online (Sandbox Code Playgroud)
有什么想法怎么做?它真的可能吗?
编辑:这是我的解决方案:
$myHashTable =
@{
One = 1
Two= 2
}
$myHashTable.Three = $myHashTable.One + $myHashTable.Two
Run Code Online (Sandbox Code Playgroud)
您也可以重复此操作...
有时当哈希表很长
并且只能在 2 或 3 次重复中定义时...
工作正常:
$AAA = @{
DAT = "C:\MyFolderOfDats"
EXE = "C:\MyFolderOfExes"
}
$AAA += @{
Data = $AAA.DAT + "\#Links"
Scripts = $AAA.EXE + "\#Scripts"
ScriptsX = $AAA.EXE + "\#ScriptsX"
}
Run Code Online (Sandbox Code Playgroud)
- 请注意,在第二部分中,我们只是
向第一部分添加 ( += ) 更多项目...但是现在...我们可以引用哈希表第一部分中的
项目