in reply to Re^2: Passing arrayref to Moose attributes
in thread Passing arrayref to Moo attributes

I don't think that's a Moo/Moose-compatibility issue (I could be wrong, and if so, would like additional clarification). It would be equally problematic with Moose, wouldn't it? At least after converting it to Moose by quoting the isa component, I get:

Cannot delegate my_array to elements because the value of maze_map is +not an object (got 'ARRAY(0x163b880)') at...

...which seems to be the same type of error produced under Moo, with a slightly different message.

But I suppose I should be asking for clarification. Should that work under Moose?


Dave

Replies are listed 'Best First'.
Re^4: Passing arrayref to Moose attributes
by tobyink (Canon) on Apr 21, 2013 at 08:16 UTC

    Under Moose you need to add traits => ["Array"] to the attribute declaration. See Moose::Meta::Attribute::Native::Trait::Array.

    With Moo you'd use handles_via => "Array" but you'd need to install MooX::HandlesVia first.

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name

      Thanks! :)


      Dave