On Tue, Dec 07, 2004 at 12:32:50PM -0500, Abhijit Mahabal wrote:
: According to S12, it is possible to supply the object layout to bless(), 
: like so:
: 
: $object = $class.bless(:CREATE[:repr<P6opaque>] :k1($v1) :k2($v2))
: 
: But in the section "Introspection", "layout" is a class trait. Does this 
: mean that classes have a default layout that can be overriden for 
: individual objects?

Er, no.  It's probably just a braino.  If it works at all, I think
it's probably for when the class doesn't specify a layout, or has a
meta-layout that can handle multiple layouts. It might not even make
sense for that.  In general, a class should have a consistent layout.

I think I was thinking about the fact that Perl 5's bless can just use
whatever data structure you hand it.  So maybe

    $object = $class.bless(:CREATE[:repr<P6Hash>] :k1($v1) :k2($v2))

is equivalent to

    $object = $class.bless({}, :k1($v1) :k2($v2))

But mostly I was just looking for an example option to pass to :CREATE.
Perhaps :repr is a bit too violent for that.

Larry

Reply via email to