Acme-IEnumerable
view release on metacpan or search on metacpan
lib/Acme/IEnumerable.pm view on Meta::CPAN
while (1) {
my $counter = 0;
my $item = $base->();
return $counter unless ref $item;
local $_ = $$item;
$counter += 0 + !! $predicate->($_);
}
Carp::confess("Impossible");
}
sub select {
my ($self, $projection) = @_;
return _create sub {
return sub {
state $base = $self->new();
my $item = $base->();
return unless ref $item;
local $_ = $$item;
return \($projection->($_));
};
};
lib/Acme/IEnumerable.pm view on Meta::CPAN
my $enum = $self->new();
for (my $item = $enum->(); ref $item; $item = $enum->()) {
local $_ = $$item;
$action->($_);
}
}
#####################################################################
#
#####################################################################
# sub select_many { ... }
# sub contains { ... }
# sub sequence_equal { ... }
# sub distinct { ... }
# sub union { ... }
# sub except { ... }
# sub intersect { ... }
# sub default_if_empty { ... }
# sub single_or_default { ... }
# sub concat { ... }
# sub group_join { ... }
( run in 0.419 second using v1.01-cache-2.11-cpan-49f99fa48dc )