Thread Type Constraints in Moose
(3 answers)
Opened by skirnir at 2008-04-06 18:38
Hallo,
ich spiele gerade ein bisschen mit Moose rum und kapiere die Doku von Moose::Utils::TypeConstraints anscheinend nicht. Ich habe aufgrund der Erklärung zu den Default Type Constraints angenommen, dass das hier funktioniert: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; package MyClass; use Moose; has 'somearray' => ( is => 'rw', isa => 'ArrayRef[Int]'); #has 'somearray' => ( is => 'rw', isa => 'ArrayRef'); 1; package main; my @array = (1,2); print Dumper(@array); my $stuff = new MyClass(somearray => \@array); #my $stuff = new MyClass({somearray => \@array}); print Dumper($stuff); bekomme aber stattdessen die folgende Fehlermeldung: Code: (dl
)
1 Attribute (somearray) does not pass the type constraint (__ANON__) with 'ARRAY(0x81d3b10)' at /usr/share/perl5/Moose/Meta/Attribute.pm line 221 Wenn ich statt Zeile 12 Zeile 13 benutze, funktioniert alles wie erwartet. Wie bringe ich der Klasse jetzt bei, zu prüfen, ob das Array auch Werte des Typs enthält, die ich da gern hätte? |