【发布时间】:2015-03-11 01:07:13
【问题描述】:
来自perlootut:
my $cage = File::MP3->new(
path => 'mp3s/My-Body-Is-a-Cage.mp3',
content => $mp3_data,
last_mod_time => 1304974868,
title => 'My Body Is a Cage',
);
我不明白这里发生了什么。它看起来是自动激活的,如果是这样,那么 new 会同时传递类名和对新哈希的引用?
【问题讨论】:
-
方法
new将类名和其他 list 参数展平到@_数组中。上面的代码中没有 hash 和 hashref。 -
那么
=>到底发生了什么如果我写了一个模块并想用这种语法传递参数,我将如何访问它? -
=>in perl 是花哨的逗号; stackoverflow.com/a/4093914/223226sub new { my $class = shift; my %arg = @_; return bless \%arg, $class; }
标签: perl