* Sean Allen <s...@monkeysnatchbanana.com> [2009-01-23T16:20:51]
> I'm reading the docs for initializer and am totally lost as to what it  
> does, can someone explain?
> 
> I keep reading the words but put together, just not getting it.

Say you have an attribute like this:

  has attr => (
    is       => 'rw',
    required => 1,
    default  => 10,
    trigger  => sub { ... },
  );

When the attribute is changed, the trigger is called.  That does not happen,
though, when the object is created, even though the attribute is set then --
from "no attribute exists because the object is not initialized" to 10.

To have code run when the attribute is *initialized* (set during instance
initialization) you make an initialized.

The test code in Class-MOP might be demonstrative:

  
http://cpansearch.perl.org/src/DROLSKY/Class-MOP-0.76/t/024_attribute_initializer.t

-- 
rjbs
  • initializer Sean Allen
    • Re: initializer Ricardo SIGNES

Reply via email to