Range-Object
view release on metacpan or search on metacpan
lib/Range/Object.pm view on Meta::CPAN
#
sub add {
my ($self, @input_range) = @_;
# Nothing to do
return $self unless @input_range;
my @validated_input = $self->_validate_and_expand(@input_range);
# Expand existing range and overlay the new one
my %existing_values = map {; "$_" => 1 } $self->_full_range();
@existing_values{ @validated_input } = (1) x @validated_input;
# Collapse resulting hash and replace current range with new values
$self->{range} = [ $self->_collapse_range( keys %existing_values ) ];
return $self;
}
### PUBLIC INSTANCE METHOD ###
( run in 0.308 second using v1.01-cache-2.11-cpan-26ccb49234f )