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


in reply to [SOLVED]: Need help with range expression ('0 .. -0.5' === '0 .. 0.5')

Thanks for answers ;)

And later I've found a trivial "upgrade" to the initial range, for which I was blind yesterday... Just to add "int" in one place:
push @array, reverse @array[ 0 .. int( $n / 2 ) - 1 ];
  • Comment on Re: [SOLVED]: Need help with range expression ('0 .. -0.5' === '0 .. 0.5')
  • Download Code

Replies are listed 'Best First'.
Re^2: [SOLVED]: Need help with range expression ('0 .. -0.5' === '0 .. 0.5')
by AnomalousMonk (Archbishop) on Feb 24, 2019 at 22:17 UTC
    If initial array has even length, I want to double the length, otherwise I want doubled and -1 length.
    ...
    Where $n - is a length of final array ...
    ...
    push @array, reverse @array[ 0 .. int( $n / 2 ) - 1 ];

    Why bother figuring out the length  $n of the final, palindromatized array when this length is inherent in the initial array?
        push @array, reverse @array[ 0 .. $#array - (@array & 1) ];
    (This is essentially vr's solution. (Update: To be quite fair, 1nickt here and poj here also had essentially the same solution, and with earlier precedence.))


    Give a man a fish:  <%-{-{-{-<