in reply to Re^4: Looking for feedback on my documentation
in thread Looking for feedback on my documentation
This outputs:use strict; use warnings; use Type::Tiny; my $Is_A_Duck = "Type::Tiny"->new( name => "DuckCheck", constraint => sub { $_->{speech} eq "QUACK" and $_->{walk} eq "WADD +LE" }, message => sub { "$_->{name} is not a duck!" }, ); my @candidates = ( {name=>"Daffy", speech=> "QUACK", walk=> "WADDLE"}, {name=>"Daisy", speech=> "QUACK", walk=> "WADDLE"}, {name=>"Donald", speech=> "Bizarre", walk=> "WADDLE"}, {name=>"Platypus",speech=>"QUACK", walk=> "SHUFFLE"}, ); for my $c (@candidates){ if (my $msg= $Is_A_Duck->validate($c)){ print "$_\n" for @{ $Is_A_Duck->validate_explain($c, $c->{name}) +}; }else{ print "$c->{name} is a Duck!\n"; } } print "Exiting...\n";
>perl typetest.pl Daffy is a Duck! Daisy is a Duck! Donald is not a duck! (in Donald) "DuckCheck" is defined as: sub { $_->{'walk'} eq 'WADDLE' if $_->{'spe +ech'} eq 'QUACK'; } Platypus is not a duck! (in Platypus) "DuckCheck" is defined as: sub { $_->{'walk'} eq 'WADDLE' if $_->{'spe +ech'} eq 'QUACK'; } Exiting...
"From there to here, from here to there, funny things are everywhere." -- Dr. Seuss
|
|---|