Declare::Constraints::Simple::Library::Array.3pm

Langue: en

Autres versions - même langue

Version: 2006-09-14 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Declare::Constraints::Simple::Library::Array - Array Constraints

SYNOPSIS

   # accept a list of pairs
   my $pairs_validation = IsArrayRef( HasArraySize(2,2) );
 
   # integer => object pairs
   my $pairs = And( OnEvenElements(IsInt), 
                    OnOddElements(IsObject) );
 
   # a three element array
   my $tri = And( HasArraySize(3,3),
                  OnArrayElements(0, IsInt,
                                  1, IsDefined,
                                  2, IsClass) );
 
 

DESCRIPTION

This module contains all constraints that can be applied to array references.

CONSTRAINTS

HasArraySize([$min, [$max]])

With $min defaulting to 1. So a specification of
   my $profile = HasArraySize;
 
 

checks for at least one value. To force an exact size of the array, specify the same values for both:

   my $profile = HasArraySize(3, 3);
 
 

OnArrayElements($key => $constraint, $key => $constraint, ...)

Applies the the $constraints to the corresponding $keys if they are present. For required keys see "HasArraySize".

OnEvenElements($constraint)

Runs the constraint on all even elements of an array. See also "OnOddElements".

OnOddElements($constraint)

Runs the constraint on all odd elements of an array. See also "OnEvenElements".

SEE ALSO

Declare::Constraints::Simple, Declare::Constraints::Simple::Library

AUTHOR

Robert 'phaylon' Sedlacek "<phaylon@dunkelheit.at>" This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.