Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^5: Looking for feedback on my documentation

by NetWallah (Canon)
on Nov 26, 2019 at 19:21 UTC ( [id://11109281]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Looking for feedback on my documentation
in thread Looking for feedback on my documentation

I was hoping for something like this:
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";
This outputs:
>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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11109281]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-04-19 18:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found