Perl Monk, Perl Meditation | |
PerlMonks |
Re: Private attributes in Perl 6 objectsby duelafn (Parson) |
on Nov 02, 2015 at 14:39 UTC ( [id://1146717]=note: print w/replies, xml ) | Need Help?? |
Actually, you have it a bit backwards, get can see $!z just fine, it is the constructor which is not setting $!z (because it is private). If you really want to allow setting a private attribute at object creation time you can use a BUILD submethod:
Notice that if you create BUILD you are responsible for handling all your attributes. Though if $!z is private, you probably want to do some checking on it before setting (else, why is it private?). That can be done too by not using the special syntax:
Of course, there are a million other ways to do validation of an attribute (some are better than this), just showing this way since it is relevant to your current investigations. Update: Oh, and perl6 has a really smart say (ok, smart objects, but whatever), no need to loop anymore just for debugging statements: say $a.get works nicely (as does say $a.get.perl). Good Day,
In Section
Seekers of Perl Wisdom
|
|