如何在嵌套哈希表中调用键?
How to Call Keys in Nested Hash Tables?
我目前正在研究 PowerShell 中的哈希表,我了解到变量可以用作键和值。此时我已经创建了一个散列 table,想看看如何将它嵌套在另一个散列 table 中。所以,这是我正在做的事情的信息:
我创建了一个名为 $avatar
的散列 table。其中有键 "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";
}
然后我想把这个散列 table 放在另一个名称为 $shows
.
中
$shows = [ordered]@{
"Avatar" = $avatar;
}
所以,这是我的问题。我是否正确编写了嵌套散列 table 的语法?如果不是,应该怎么写?此外,从嵌套哈希 table 调用特定键所需的语法是什么?
这很有趣,可以教你很多只是调查每个小部分。
所以我们知道我们有第一个散列 table,它由“键”和“值”组成
$avatar.keys
Episode 1
Episode 2
Episode 3
$avatar.values
The Boy in the Iceberg
The Avatar Returns
The Southern Air Temple
如果要遍历每个 name/value 对,请使用 .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
或者很多不同的方式
我目前正在研究 PowerShell 中的哈希表,我了解到变量可以用作键和值。此时我已经创建了一个散列 table,想看看如何将它嵌套在另一个散列 table 中。所以,这是我正在做的事情的信息:
我创建了一个名为 $avatar
的散列 table。其中有键 "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";
}
然后我想把这个散列 table 放在另一个名称为 $shows
.
$shows = [ordered]@{
"Avatar" = $avatar;
}
所以,这是我的问题。我是否正确编写了嵌套散列 table 的语法?如果不是,应该怎么写?此外,从嵌套哈希 table 调用特定键所需的语法是什么?
这很有趣,可以教你很多只是调查每个小部分。
所以我们知道我们有第一个散列 table,它由“键”和“值”组成
$avatar.keys
Episode 1
Episode 2
Episode 3
$avatar.values
The Boy in the Iceberg
The Avatar Returns
The Southern Air Temple
如果要遍历每个 name/value 对,请使用 .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
或者很多不同的方式