Karen Etheridge > Moose-2.1405 > Moose::Meta::Attribute::Native::Trait::Number

Moose-2.1405.tar.gz

Dependencies

Annotate this POD

Website

# CPAN RT

 New 11 Open 46 Stalled 7
View/Report Bugs
Module Version: 2.1405   Source   Latest Release: Moose-2.1500-TRIAL

# NAME

Moose::Meta::Attribute::Native::Trait::Number - Helper trait for Num attributes

version 2.1405

# SYNOPSIS

```  package Real;
use Moose;

has 'integer' => (
traits  => ['Number'],
is      => 'ro',
isa     => 'Num',
default => 5,
handles => {
set => 'set',
sub => 'sub',
mul => 'mul',
div => 'div',
mod => 'mod',
abs => 'abs',
},
);

my \$real = Real->new();
\$real->add(5);    # same as \$real->integer(\$real->integer + 5);
\$real->sub(2);    # same as \$real->integer(\$real->integer - 2);```

# DESCRIPTION

This trait provides native delegation methods for numbers. All of the operations correspond to arithmetic operations like addition or multiplication.

# DEFAULT TYPE

If you don't provide an `isa` value for your attribute, it will default to `Num`.

# PROVIDED METHODS

All of these methods modify the attribute's value in place. All methods return the new value.

Adds the current value of the attribute to `\$value`.

• sub(\$value)

Subtracts `\$value` from the current value of the attribute.

• mul(\$value)

Multiplies the current value of the attribute by `\$value`.

• div(\$value)

Divides the current value of the attribute by `\$value`.

• mod(\$value)

Returns the current value of the attribute modulo `\$value`.

• abs

Sets the current value of the attribute to its absolute value.

# BUGS

See "BUGS" in Moose for details on reporting bugs.

# AUTHORS

• Stevan Little <stevan.little@iinteractive.com>
• Dave Rolsky <autarch@urth.org>
• Jesse Luehrs <doy@tozt.net>
• Shawn M Moore <code@sartak.org>
• יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
• Karen Etheridge <ether@cpan.org>
• Florian Ragwitz <rafl@debian.org>
• Hans Dieter Pearcey <hdp@weftsoar.net>
• Chris Prather <chris@prather.org>