powershell - 如何调用嵌套哈希表中的键?
问题描述
我目前正在研究 PowerShell 中的哈希表,我了解到变量可以用作键和值。此时我已经创建了一个哈希表,并想看看如何将它嵌套在另一个哈希表中。所以,这是我正在做的事情的信息:
我创建了一个名为$avatar
. 其中包括键"Episode 1"
、、"Episode 2"
等"Episode 3"
以及作为值的每集的名称。
$avatar = [ordered]@{
"Episode 1" = "The Boy in the Iceberg";
"Episode 2" = "The Avatar Returns";
"Episode 3" = "The Southern Air Temple";
}
所以我想把这个哈希表放在另一个名为$shows
.
$shows = [ordered]@{
"Avatar" = $avatar;
}
所以,这是我的问题。我是否正确编写了嵌套哈希表的语法?如果不是,应该怎么写?此外,从嵌套哈希表调用特定键所需的语法是什么?
解决方案
这很有趣,可以教你很多,只是为了调查每个小部分。
所以我们知道我们有第一个哈希表,它由“键”和“值”组成
$avatar.keys
Episode 1
Episode 2
Episode 3
$avatar.values
The Boy in the Iceberg
The Avatar Returns
The Southern Air Temple
如果要遍历每个名称/值对,请使用.GetEnumerator()
$avatar.GetEnumerator() | ForEach-Object {
"Name: $($_.name)"
"Value: $($_.value)"
}
Name: Episode 1
Value: The Boy in the Iceberg
Name: Episode 2
Value: The Avatar Returns
Name: Episode 3
Value: The Southern Air Temple
您可以获取每个键并循环它们以一次操作一个
$shows.Keys | ForEach-Object {
$shows.$_
}
Name Value
---- -----
Episode 1 The Boy in the Iceberg
Episode 2 The Avatar Returns
Episode 3 The Southern Air Temple
当你开始嵌套时,只知道你必须剥掉每一层。
$shows.Keys | ForEach-Object {
$shows.$_.GetEnumerator()
}
Name Value
---- -----
Episode 1 The Boy in the Iceberg
Episode 2 The Avatar Returns
Episode 3 The Southern Air Temple
或者
$shows.Keys | ForEach-Object {
foreach($key in $shows.$_.keys){
$shows.$_.$key
}
}
The Boy in the Iceberg
The Avatar Returns
The Southern Air Temple
或者很多不同的方式
推荐阅读
- python - 错误 TF2。完成 GeneratorDataset 迭代器时发生错误。Python解释器状态未初始化它不会发生在TF1中
- mongodb - 创建只能管理自己创建的文档的MongoDB用户
- javascript - 在电子项目中应该如何请求我的其他 .js 文件?/等待/异步块中的令牌错误
- phpunit - 如何模拟生成的类?
- swift - 同时添加多个 SCNNode(s)
- keras - 如何在 Keras Tuner 中使用“LeakyRelu”和参数 Leaky Relu“PReLU”
- google-apps-script - 让谷歌电子表格向我发送电子邮件
- mysql - 无法将来自 JSON 的 Blob 转换为文件
- python - 删除晚于特定日期的任何内容
- python - 通过多次出现列来增加 html 显示的宽度