在 Perl 中创建如下哪个结构?
my $self = { Name => $name, Color => $class->default_color };
如果它是一个哈希,那么官方符号不是以下(括号,%
而不是$
):
my %self = ( Name => $name, Color => $class->default_color );
在 Perl 中创建如下哪个结构?
my $self = { Name => $name, Color => $class->default_color };
如果它是一个哈希,那么官方符号不是以下(括号,%
而不是$
):
my %self = ( Name => $name, Color => $class->default_color );
中的数据{ ... }
是哈希参考。
里面的数据( ... )
是一个列表,但是上下文使它变成了一个散列。
好吧,它仍然是一个哈希 - 但一个匿名的。并将其引用分配给$self
. 医生说:
可以使用大括号创建对匿名哈希的引用:
$hashref = {
'Adam' => 'Eve',
'Clyde' => 'Bonnie',
};
Perl 没有散列的文字表示,所以我们创建一个散列作为键值对的列表。匿名散列构造函数或对命名散列的赋值将键值对列表转换为散列。
第一行创建了一个哈希引用,您将其分配给一个标量变量:
my $self = { Name => $name, Color => $class->default_color };
底线将列表分配给命名哈希:
my %self = ( Name => $name, Color => $class->default_color );