You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{
package Your::Class1;
use Easy::Accessor; # import only 'set_accessor'
use Easy::Accessor qw/:all/; # import all functions below
sub new {
......
return bless...;
}
set_accessor(qw/foo/);
set_accessor_read_only(qw/bar/);
set_accessor_class_only(qw/baz/);
set_accessor_class_selected(
class => 'Your::Class2', # possible as [class1,class2,...]
name => 'class2_foo' # possible as [qw/foo bar baz/]
);
our $result = { # it must be 'our' and '$' so I can't look into scratchpad of lexical var yet.
foo => 100,
bar => {
baz => 20
}
};
set_accessor_hash_ref($result);
undef $hash_ref; # undef to capsule it self
}
{
package Your::Class2;
......
}
{
package main;
my $x = Your::Class->new;
$x->foo("hello");
print $x->foo; # hello
$x->bar(1); # once you set
$x->bar(2); # die read only
$x->baz('from_main'); # die class only
$x->class2_foo('from_main'); # die access only selected class
print $x->result->foo; # 100
$x->bar->boo(80); # set like hash
}
FUNCTIONS
set_accessor
set accessor of your class object
set_accessor(qw/foo bar baz/);
set_accessor_read_only
set readonly accessor of your class object
set_accessor_read_only(qw/foo bar baz/);
set_accessor_class_only
set accessor call from just only the class it set
set_accessor_class_only(qw/foo bar baz/);
set_accessor_class_selected
set accessor call from only a class or classes selected
set_accessor_class_selected(
class => 'main', # possible as [class1,class2,...]
name => 'foo' # possible as [qw/foo bar baz/]
);
set_accessor_heash_ref
set accessor of your class hash reference
our $hash_ref = { # it must be 'our' and '$' so I can't look into scratchpad of lexical var yet.
foo => 1,
bar => {
baz => 2
}
};
set_accessor_hash_ref($hash_ref);
undef $hash_ref; # undef to capsule it self
you can write... $self->bar->baz # usually, $hash_ref->{bar}{baz} or $self->getter->{bar}{baz}