Moose::Autobox::Array

Section: User Contributed Perl Documentation (3)
Updated: 2016-05-03
Page Index
 

NAME

Moose::Autobox::Array - the Array role  

VERSION

version 0.16  

SYNOPSIS

  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"
 

SUPPORT

Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Moose-Autobox> (or bug-Moose-Autobox@rt.cpan.org <mailto:bug-Moose-Autobox@rt.cpan.org>).

There is also a mailing list available for users of this distribution, at <http://lists.perl.org/list/moose.html>.

There is also an irc channel available for users of this distribution, at "#moose" on "irc.perl.org" <irc://irc.perl.org/#moose>.  

AUTHOR

Stevan Little <stevan.little@iinteractive.com>  

COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by Infinity Interactive, Inc.

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


 

Index

NAME
VERSION
SYNOPSIS
DESCRIPTION
METHODS
Indexed implementation
List implementation
Junctions
SUPPORT
AUTHOR
COPYRIGHT AND LICENSE