Ricardo SIGNES > Moose-Autobox-0.15 > Moose::Autobox::Array

Download:
Moose-Autobox-0.15.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Module Version: 0.15   Source  

NAME ^

Moose::Autobox::Array - the Array role

SYNOPOSIS ^

  use Moose::Autobox;
    
  [ 1..5 ]->isa('ARRAY'); # true
  [ a..z ]->does('Moose::Autobox::Array'); # true
  [ 0..2 ]->does('Moose::Autobox::List'); # true  
    
  print "Squares: " . [ 1 .. 10 ]->map(sub { $_ * $_ })->join(', ');
  
  print [ 1, 'number' ]->sprintf('%d is the loneliest %s');
  
  print ([ 1 .. 5 ]->any == 3) ? 'true' : 'false'; # prints 'true'

DESCRIPTION ^

This is a role to describe operations on the Array type.

METHODS ^

pop
push ($value)
shift
unshift ($value)
delete ($index)
sprintf ($format_string)
slice (@indices)
flatten
flatten_deep ($depth)
first
last

Indexed implementation

at ($index)
put ($index, $value)
exists ($index)
keys
values
kv
each
each_key
each_value
each_n_values ($n, $callback)

List implementation

head
tail
join (?$seperator)
length
map (\&block)
grep (\&block)

Note that, in both the above, $_ is in scope within the code block, as well as being passed as $_[0]. As per CORE::map and CORE::grep, $_ is an alias to the list value, so can be used to modify the list, viz:

    use Moose::Autobox;

    my $foo = [1, 2, 3]; 
    $foo->map( sub {$_++} ); 
    print $foo->dump;

yields

   $VAR1 = [
             2,
             3,
             4
           ];
reverse
sort (?\&block)

Junctions

all
any
none
one
meta
print
say

BUGS ^

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR ^

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE ^

Copyright 2006-2008 by Infinity Interactive, Inc.

http://www.iinteractive.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: