http://www.perlmonks.org?node_id=78432


in reply to Re (tilly) 4: (Golf as well): List of Partitions
in thread (Golf as well): List of Partitions


Tilly, i would say something, but it would sound clunky compared to the beautiful code above. It would be nice if i could ++ you more than once for that snippet.

One question though, what's commified? i'm not sure if i've ever heard the term...

jynx

  • Comment on Re: Re (tilly) 4: (Golf as well): List of Partitions

Replies are listed 'Best First'.
Re (tilly) 6: (Golf as well): List of Partitions
by tilly (Archbishop) on May 07, 2001 at 15:35 UTC
    Here is what I mean by commified. Consider the following 2 versions of the same map statement:
    ...map{"@$_\n"}@a... ...map"@$_\n",@a...
    The first form is more general, you can put more complex logic inside the block. The second form replaces the block with a comma and shaves a character. Often you can shave a few characters off of someone's solution by seeing that a few map's or grep's can switch over to the version with the comma.

    Sometimes it is not obvious that you can. So sometimes I just have to try it out. As in the case:

    ...map{$$_[0]>$i?():[$i,@$_]}P($n-$i)... ...map$$_[0]>$i?():[$i,@$_],P($n-$i)...
    Incidentally the following version is the same size, but has slightly nicer (IMHO) output:
    sub P{ my$i=pop;[$i],map{--$i;map$$_[0]>$i?():[$i,@$_],P($_-1)}2..$i }