Я изучаю perl и просматриваю некоторые старые коды OOP. В pl есть одна строка, вызывающая функцию в файле pm. как
my $id = new ABC::Data::InstallData();
my $startMenu = $id->getData('menu');
В файле вечера, функции, как показано ниже:
package ABC::Data::InstallData;
$debug = 1;
sub getData {
my($self, $tag) = @_;
#print "----1------$self-----------\n";
#print "----2------$tag-----------\n";
if ($debug && ! defined $self->{$tag}) {
$logger->debug("Undefined variable $tag = $self->{$tag}");
}
if ($debug) {
$logger->debug("Exiting ABC::Data::InstallData::getData");
}
return $self->{$tag};
}
Как вы можете видеть, есть две линии печати, которые могут выводить название класса и параметр занесены. Но я не понимаю $self->{$tag}
смысл, может кто-то помогает?
Какая часть вы не понимаете? '$ self' - это объект, а ключ, соответствующий' $ tag', является свойством объекта. –