Moose::Autobox::Array - the Array role
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'
This is a role to describe operations on the Array type.
- pop
- push ($value)
- shift
- unshift ($value)
- delete ($index)
- sprintf ($format_string)
- slice (@indices)
- flatten
- flatten_deep ($depth)
- first
- last
- at ($index)
- put ($index, $value)
- exists ($index)
- keys
- values
- kv
- each
- each_key
- each_value
- each_n_values ($n, $callback)
- 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)
- all
- any
- none
- one
- meta
- print
- say
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.
Stevan Little <stevan@iinteractive.com>
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.