【发布时间】:2015-12-03 16:29:29
【问题描述】:
我尝试在我的 perl 脚本中创建一个对象。因此我有一个构造函数
new(;@)
{
my $class = shift;
my $self = {};
bless $self, $class;
$self->_init(@_);
return $self;
}
还有我的_init(;@)函数,用来初始化对象
my $self = shift;
if( @_ )
{
my %extra = @_;
@$self{keys %extra} = values %extra;
}
return;
我是否以错误的方式使用这两个功能?我从两行开始每隔一个子
my $self = shift;
croak "instance method called for class" unless ref $self;
但我每次使用它时只会得到syntax / String found where operator expected 错误作为回报。
因此我的问题:我是否以正确的方式使用这两个功能?我一直认为我只需要初始化一次$self,就像我做的那样,并且可以为脚本的其余部分指出我想要的一切。
【问题讨论】:
标签: perl attributes self shift