小编stu*_*42j的帖子

访问列表作为哈希

我可以直接访问列表中的元素:

$foo = (qw(a b c))[2]; # $foo = "c"
Run Code Online (Sandbox Code Playgroud)

我可以为哈希分配一个列表:

%h = (a=>0, b=>1, c=>2);
$foo = $h{c}; # $foo = 2
Run Code Online (Sandbox Code Playgroud)

那么,为什么我不能直接将列表视为哈希?

$foo = (a=>0, b=>1, c=>2){c}; # Syntax error
Run Code Online (Sandbox Code Playgroud)

我能找到的最接近的是创建一个hashref:

$foo = {a=>0, b=>1, c=>2}->{c};
Run Code Online (Sandbox Code Playgroud)

是否有正确的语法来将列表作为哈希访问,或者为什么不是?

syntax perl hash list

6
推荐指数
1
解决办法
196
查看次数

标签 统计

hash ×1

list ×1

perl ×1

syntax ×1