Declare::Constraints::Simple::Library::Numerical - Numerical Constraints


Declare-Constraints-Simple documentation Contained in the Declare-Constraints-Simple distribution.

Index


Code Index:

NAME

Top

Declare::Constraints::Simple::Library::Numerical - Numerical Constraints

SYNOPSIS

Top

  # test for number-conformity
  my $looks_like_number = IsNumber;

  # only integers
  my $is_int = IsInt;

DESCRIPTIONS

Top

This library contains the constraints needed to validate numerical values.

CONSTRAINTS

Top

IsNumber()

True if the value is a number according to Scalar::Utils looks_like_number.

IsInt()

True if the value is an integer.

SEE ALSO

Top

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

AUTHOR

Top

Robert 'phaylon' Sedlacek <phaylon@dunkelheit.at>

LICENSE AND COPYRIGHT

Top


Declare-Constraints-Simple documentation Contained in the Declare-Constraints-Simple distribution.
package Declare::Constraints::Simple::Library::Numerical;
use warnings;
use strict;

use Declare::Constraints::Simple-Library;

use Scalar::Util ();

constraint 'IsNumber',
    sub {
        return sub {
            return _false('Undefined Value') unless defined $_[0];
            return _result(Scalar::Util::looks_like_number($_[0]), 
                'Does not look like Number');
        };
    };

constraint 'IsInt',
    sub {
        return sub {
            return _false('Undefined Value') unless defined $_[0];
            return _result(scalar($_[0] =~ /^-?\d+$/), 'Not an Integer');
        };
    };

1;