Maybe http://en.wikipedia.org/wiki/Metaobject is a good start for reading up on 
what a MOP (Meta-Object Protocol) is.


Liz
===============
On 28 Oct 2013, at 14:17, Richard Hainsworth <rich...@rusrating.ru> wrote:
> Moritz,
> 
> You are the everflowing font of knowledge. Thanks.
> 
> However, I read the synopsis on objects and did not find the .get_value 
> method.
> 
> Pardon the ignorance, but what is "the MOP". I sometimes get floored by the 
> jargon.
> 
> I read about the indirection for methods, but how does that relate to 
> attributes?
> 
> Richard
> 
> On 10/28/2013 01:45 PM, Moritz Lenz wrote:
>> Hi Richard,
>> 
>> On 10/28/2013 08:07 AM, Richard Hainsworth wrote:
>>> Perhaps I am using class incorrectly, but I set up a class, then change
>>> some of the parameters in an instance of the class. Next I would like to
>>> discover what the current state of the instance is.
>> 
>> There is a way to introspect through the MOP:
>> 
>> class A { has $!x = 42; };
>> my $obj = A.new;
>> say A.^attributes[0].get_value($obj);
>> 
>> It's not straight forwards, and that's actually a feature :-)
>> 
>> The usual way to go is through the accessors, and indirect method calls with 
>> $obj."$name"();
>> 
>> Cheers,
>> Moritz
> 

Reply via email to