Acme-Tools
view release on metacpan or search on metacpan
t/11_part.t view on Meta::CPAN
# perl Makefile.PL;make;perl -Iblib/lib t/11_part.t
use lib '.'; BEGIN{require 't/common.pl'}
use Test::More tests => 8;
my( $odd, $even ) = part {$_%2} 1..8;
ok_ref($odd, [1,3,5,7],'odd');
ok_ref($even,[2,4,6,8],'even');
my @words=qw/These are the words of this array/;
my %h=parth { uc(substr($_,0,1)) } @words;
#warn serialize(\%h);
ok_ref( \%h,
{ T=>[qw/These the this/],
A=>[qw/are array/],
W=>[qw/words/],
O=>[qw/of/] }, 'parth');
my @a=parta { length } @words;
#warn serialize(\@a);
ok_ref( \@a, [undef,undef,['of'],['are','the'],['this'],['These','words','array']], 'parta' );
ok_ref( [pile(2, 1..9)], [[1,2],[3,4],[5,6],[7,8],[9]], 'pile 2' );
ok_ref( [pile(4, 1..9)], [[1,2,3,4],[5,6,7,8],[9]], 'pile 4' );
ok_ref( [pile(2)], [], 'pile empty' );
ok_ref( [pile2(4, 1..9)], [[1,2,3,4],[5,6,7,8],[9]], 'pile parta' );
sub pile2 {
my $size=shift;
my $i=0;
parta{$i++/$size}@_;
}
# mapn {},3 @list #3 sliding elems
( run in 2.822 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )