AAB*_*AAB 1 perl perl-data-structures
我有以下hashref: -
my $hashref = {'a'=>(1,2,3,4),
'b'=>(5,6,7,8)};
Run Code Online (Sandbox Code Playgroud)
然后我使用以下内容来打印键(即'a'和'b'): -
foreach (keys %$hashref){
print "\n".$_."\n";
}
Run Code Online (Sandbox Code Playgroud)
这将打印以下输出: -
4
a
7
2
5
Run Code Online (Sandbox Code Playgroud)
尝试使用Data :: Dumper打印数据结构hashref,得到以下输出: -
$VAR1 = {
'4' => 'b',
'a' => 1,
'7' => 8,
'2' => 3,
'5' => 6
};
Run Code Online (Sandbox Code Playgroud)
我的问题是: -
1)如何只打印正确的键,即'a'和'b'.2)为什么数据结构看起来像上面的输出而不是: -
$VAR1 = {
'a' => (1,2,3,4),
'b' => (5,6,7,8)
};
Run Code Online (Sandbox Code Playgroud)
您正在定义哈希错误.它解释了这个:
'a'=>(1,2,3,4),
'b'=>(5,6,7,8)
Run Code Online (Sandbox Code Playgroud)
简单地说是10个元素的列表.(请记住,哈希也可以使用简单列表声明,=>运算符是可选的.)而是使用方括号将值设置为arrayref文字:
'a'=>[1,2,3,4],
'b'=>[5,6,7,8]
Run Code Online (Sandbox Code Playgroud)
Data :: Dumper应该调用哪个:
$VAR1 = {
'a' => [1,2,3,4],
'b' => [5,6,7,8]
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2461 次 |
| 最近记录: |