Sub::HandlesVia::HandlerLibrary::Number - library of number-related methods
Contents
Bugs
Please report any bugs to <https://github.com/tobyink/p5-sub-handlesvia/issues>.
Copyright And Licence
This software is copyright (c) 2020, 2022 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
programming language system itself.
Delegatable Methods
abs()
Finds the absolute value of the current number, updating the attribute.
my $object = My::Class->new( attr => -5 );
$object->my_abs;
say $object->attr; ## ==> 5
add($addend)
Arguments: Num.
Adds a number to the existing number, updating the attribute.
my $object = My::Class->new( attr => 4 );
$object->my_add( 5 );
say $object->attr; ## ==> 9
cmp($num)
Arguments: Num.
Returns "$object->attr <=> $num".
div($divisor)
Arguments: Num.
Divides the existing number by a number, updating the attribute.
my $object = My::Class->new( attr => 6 );
$object->my_div( 2 );
say $object->attr; ## ==> 3
eq($num)
Arguments: Num.
Returns "$object->attr == $num".
ge($num)
Arguments: Num.
Returns "$object->attr >= $num".
get()
Returns the current value of the number.
my $object = My::Class->new( attr => 4 );
say $object->my_get; ## ==> 4
gt($num)
Arguments: Num.
Returns "$object->attr > $num".
le($num)
Arguments: Num.
Returns "$object->attr <= $num".
lt($num)
Arguments: Num.
Returns "$object->attr < $num".
mod($divisor)
Arguments: Num.
Finds the current number modulo a divisor, updating the attribute.
my $object = My::Class->new( attr => 5 );
$object->my_mod( 2 );
say $object->attr; ## ==> 1
mul($factor)
Arguments: Num.
Multiplies the existing number by a number, updating the attribute.
my $object = My::Class->new( attr => 2 );
$object->my_mul( 5 );
say $object->attr; ## ==> 10
ne($num)
Arguments: Num.
Returns "$object->attr != $num".
set($value)
Arguments: Num.
Sets the number to a new value.
my $object = My::Class->new( attr => 4 );
$object->my_set( 5 );
say $object->attr; ## ==> 5
sub($subtrahend)
Arguments: Num.
Subtracts a number from the existing number, updating the attribute.
my $object = My::Class->new( attr => 9 );
$object->my_sub( 6 );
say $object->attr; ## ==> 3
Description
This is a library of methods for Sub::HandlesVia.
Disclaimer Of Warranties
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
perl v5.40.1 2025-04-01 Sub::HandlesVi...Library::Number(3pm)
Name
Sub::HandlesVia::HandlerLibrary::Number - library of number-related methods
See Also
Sub::HandlesVia.
Synopsis
package My::Class {
use Moo;
use Sub::HandlesVia;
use Types::Standard 'Num';
has attr => (
is => 'rwp',
isa => Num,
handles_via => 'Number',
handles => {
'my_abs' => 'abs',
'my_add' => 'add',
'my_cmp' => 'cmp',
'my_div' => 'div',
'my_eq' => 'eq',
'my_ge' => 'ge',
'my_get' => 'get',
'my_gt' => 'gt',
'my_le' => 'le',
'my_lt' => 'lt',
'my_mod' => 'mod',
'my_mul' => 'mul',
'my_ne' => 'ne',
'my_set' => 'set',
'my_sub' => 'sub',
},
);
}
