Thanks you, one and all
Best Regards, Dov Levenglick On Wed, Apr 4, 2012 at 10:53, sawyer x <[email protected]> wrote: > Damn! > > You beat me to it... >:| > > > On Wed, Apr 4, 2012 at 9:52 AM, Dotan Dimet <[email protected]> wrote: >> >> Found Moose::Util::TypeConstraints via a search, it offers a simple enum >> function. >> The following worked as a one-liner: >> >> use Moose::Util::TypeConstraints; >> enum q{Col}, [qw(red blue green)]; >> no Moose::Util::TypeConstraints; >> >> package bob; >> use Moose; >> has qw(color is rw isa Col); >> >> package main; >> my $bob = bob->new(color => q{green}); >> print $bob->color; # prints "green" >> $bob->color(q{yellow}); # dies >> print $bob->color; >> >> The error you get when you set an invalid value is something like: >> Attribute (color) does not pass the type constraint because: Validation >> failed for 'Col' with value yellow at ... >> >> >> On 04/04/2012 10:08 AM, Dov Levenglick wrote: >> >> I believe (after trying) that this won't work. Either I tried this >> wrong, or else Perl is looking for some module called MyEnum.pm >> >> >> Best Regards, >> Dov Levenglick >> >> >> >> On Wed, Apr 4, 2012 at 09:40, Shmuel Fomberg <[email protected]> >> wrote: >> >> My experience with Moose is nil, but how about something like that: >> >> my %enum = ( A => 0, B => 1, C => 2); >> >> subtype 'MyEnum', >> as 'Str', >> where { exists $enum{$_} }, >> message { "Wrong Enum name: $_" }; >> >> And then: >> coerce 'MyEnum', >> from 'Int', >> via { $enum{$_} }; >> >> Shmuel. >> >> On Wed, Apr 4, 2012 at 3:27 PM, Dov Levenglick <[email protected]> >> wrote: >> >> Hi, >> I want to declare a 3 value'd enum equivalent - i.e. (mixing C and perl): >> >> package My::Enum >> use Moose; >> >> typedef enum {A, B, C} enum_t; // knowledge in C - how do I >> port this concept to Perl? >> has 'b' => (isa => 'enum_t', is => 'rw'); >> >> 1; >> >> >> How would one go about doing that >> >> >> Best Regards, >> Dov Levenglick >> _______________________________________________ >> Perl mailing list >> [email protected] >> http://mail.perl.org.il/mailman/listinfo/perl >> >> _______________________________________________ >> Perl mailing list >> [email protected] >> http://mail.perl.org.il/mailman/listinfo/perl >> >> _______________________________________________ >> Perl mailing list >> [email protected] >> http://mail.perl.org.il/mailman/listinfo/perl >> >> >> >> -- >> This message has been scanned for viruses and >> dangerous content by MailScanner, and is >> believed to be clean. >> >> _______________________________________________ >> Perl mailing list >> [email protected] >> http://mail.perl.org.il/mailman/listinfo/perl > > > > _______________________________________________ > Perl mailing list > [email protected] > http://mail.perl.org.il/mailman/listinfo/perl _______________________________________________ Perl mailing list [email protected] http://mail.perl.org.il/mailman/listinfo/perl
