develooper Front page | perl.fwp | Postings from May 2012

Re: seeking golfing advice

From:
Peter Makholm
Date:
May 16, 2012 04:36
Subject:
Re: seeking golfing advice
Message ID:
87ehqk1hot.fsf@vps1.hacking.dk
Peter Makholm <peter@makholm.net> writes:

> damien krotkine <dkrotkine@gmail.com> writes:
>
>> I'm using this code to get a list of only the odd elements of an
>> array. The resulting list must have the same order as the array.
>>
>> map { state $f; ($_) x (++$f%2) }  @array;

Wow, you asked for golfing advice in the subject and a nice solution in
the actual text. Those requirements are quite often very incompatible.

> If you want only to get some elements of a list is is much more obvious
> to use grep instead of map:
>
>   grep { ++$f%2 } @array

This is probably as nice as it gets. For strictness I would just declare
$f as a lexical variable just outside the grep. But asking for golfing
advice is not compliant with strictness or niceness.

> And remove unneeded syntax
>
>   grep$|--,@array

I think this would be the golfing solution, but as with everything alse
related to perl golfing don't use it in production code.

//Makholm




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About