List::Rotation::Cycle - Cycle through a list of values via a singleton object implemented as closure.


List-Rotation-Cycle documentation  | view source Contained in the List-Rotation-Cycle distribution.

Index


NAME

Top

List::Rotation::Cycle - Cycle through a list of values via a singleton object implemented as closure.

SYNOPSIS

Top

    use List::Rotation::Cycle;

    my @array = qw( A B C );

    my $first_cycle  = List::Rotation::Cycle->new(@array);
    my $second_cycle = List::Rotation::Cycle->new(@array);

    print $first_cycle->next;  ## prints A
    print $second_cycle->next; ## prints B
    print $first_cycle->next;  ## prints C
    print $second_cycle->next; ## prints A, looping back to beginning

DESCRIPTION

Top

Use List::Rotation::Cycle to loop through a list of values. Once you get to the end of the list, you go back to the beginning.

List::Rotation::Cycle is implemented as a Singleton Pattern. You always just get 1 (the very same) Cycle object even if you use the new method several times. This is done by using Memoize on the new method. It returns the same object for every use of new that comes with the same List of parameters.

OBJECT METHODS

Top

new

Create a Cycle object for the list of values in the list.

next

Return the next element. This method is implemented as a closure.

AUTHOR

Top

Imre Saling, <pelagicatcpandotorg>

COPYRIGHT and LICENSE

Top


List-Rotation-Cycle documentation  | view source Contained in the List-Rotation-Cycle distribution.