Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: CPAN Module Naming Suggestions.

by shotgunefx (Parson)
on Mar 04, 2002 at 13:35 UTC ( [id://149111]=note: print w/replies, xml ) Need Help??


in reply to Re: CPAN Module Naming Suggestions.
in thread CPAN Module Naming Suggestions.

Thanks for the suggestion. I was thinking Array::Findone myeself.

While there is a findfirst function, the difference is findone knows where it is within an array, so on subsequent calls it gives subsequent elements. "sort-of" like a closure without the closure. Basically it knows from the source code context what array you are using.

# It's does something similar to this. sub elementer(&\@;$$) { my ($coderef,$arrayref,$start_index,$end_index) = @_; $start_index = 0 unless $start_index; $end_index = $#{$arrayref} unless $end_index; return sub { return if $start_index > $end_index; for (; $start_index <= $end_index;$start_index++){ $_ = $arrayref->[$start_index]; if (&$coderef){ $start_index++; return wantarray ? ($_ ,($start_index -1 ) ) : $_ +; } } } } my @nums = (1..1000); my $find = elementer { "$_" =~m/5$/ } @nums ; while (my $found = $find->() ) { # ... do something with each match print $found,"\n"; }


-Lee

"To be civilized is to deny one's nature."

Replies are listed 'Best First'.
Re: Re: Re: CPAN Module Naming Suggestions.
by broquaint (Abbot) on Mar 04, 2002 at 14:25 UTC
    Hmmmm, maybe it's name should note it's iterating ability, such as Array::Iterate::Conditional or Array::Iterate::Search. I think they would give a clearer idea of what the module will do.
    HTH

    broquaint

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://149111]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-04-24 09:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found