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


in reply to Re: (Efficiency Golf) Triangular numbers
in thread (Efficiency Golf) Triangular numbers

I'm familiar with assigning to slices of a hash, and its use in this line:

@seen {$t, $h, $r, $e} = ();

was very clever. However, why did you use slices in these lines?

@seen {$n,} = (); .... @seen {$o,} = ();
Aren't they equivalent to:
$seen{$n} = undef; $seen{$o} = undef;
Or even just:
@seen {$n} = (); # note the lack of comma after $n .... @seen {$o} = ();
I guess its that trailing comma that looks odd to me.

-Blake
p.s. props on the @HIGH and @LOW generation... very sneaky!

Replies are listed 'Best First'.
Re: Re: Re: (Efficiency Golf) Triangular numbers
by Abigail (Deacon) on May 31, 2001 at 18:51 UTC
    I used @seen {$n,} = (); and not $seen {$n} = undef; because I used the slice in the other case as well. I wanted to use as much identical syntax as possible, and didn't see a reason to special case adding a single key.

    As for using a trailing comma, all I can say is that using -w is useful. If you use it, you'll see why the comma was used.

    -- Abigail