簡體   English   中英

Perl 中的 Object 屬性訪問

[英]Object attribute access in Perl

我想創建一個 Perl class 並填充其屬性。 object 屬性將像下面的 yaml 文件一樣填充。

$data = LoadFile("$mydir/$ARGV[$j]");
my $X= $data->{a}{b}{c};

package Person;
sub new {
   my $class = shift;
   my $self = {
   a=>shift;
};
   bless $self, $class;
   return $self;
}
my $p=Person->new();

我想訪問這樣的屬性。 我怎樣才能做到這一點?

$p->a($data->{a}{b}{c});

$p->a($data->{a}{b}{c})沒有意義。 你的意思是$p->a->{a}{b}{c}嗎?

package Person;

sub new {
   my ($class, $data) = @_;
   my $self = bless({}, $class);
   $self->{data} = $data;
   return $self;
}

sub data { $_[0]{data} }

1;
my $data = LoadFile(...);
my $p = Person->new($data);
say $p->data->{a}{b}{c};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM