Я пытаюсь работать с вложенными хеш-таблицами, чтобы получить конкретное значение (число).
Хеш-таблица выглядит следующим образом.
$Hashtable = @{
'Feature1' = @{
'Audit' = 1
'Block' = 2
'Change' = 3
}
'Feature2' = @{
'Audit' = 4
'Block' = 5
'Change' = 3
}
}
Я хочу получить доступ к хеш-таблице с помощью поиска по ключу.
Первый пример работает просто отлично.
$Hashtable['Feature1']['Audit', 'Block']
1
2
Указание нескольких клавиш тоже работает нормально.
$Hashtable['Feature1', 'Feature2']
Name Value
---- ---- -
Block 2
Change 3
Audit 1
Block 5
Change 3
Audit 4
Однако, если я указываю несколько ключей в первой хеш-таблице, кажется, что я не могу получить доступ к вложенной хеш-таблице.
$Hashtable['Feature1', 'Feature2']['Block', 'Audit']
Ожидаемый результат будет 2
, 1
, 5
и 4
, но вместо этого я получу $null
.
У меня есть обходной путь. Если я переберу первый результат, я получу ожидаемый результат.
$Hashtable['Feature1', 'Feature2'] | % {$_['Block', 'Audit']}
2
1
5
4
Мне просто интересно, есть ли 1) более хороший способ сделать это и 2) почему я должен повторить цикл в этом примере.
Хотелось бы получить доступ к хеш-таблице, например $Hashtable[$Features][$Actions]
, где обе переменные являются массивом ключей.