Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^5: add missing elements and remove duplicates....and some more questions.

by Marshall (Canon)
on Apr 25, 2017 at 15:10 UTC ( [id://1188861]=note: print w/replies, xml ) Need Help??


in reply to Re^4: add missing elements and remove duplicates....and some more questions.
in thread add missing elements and remove duplicates....and some more questions.

A few additional tips. The indenting of your code levels should be consistent. The "smallest foreach loop" should be moved to the left to match the level of the "biggest". However, better would be to combine the 2 loops. Also Perl has a special single action syntax putting the "if" at the end of the statement. This can make the code easier to read with fewer curly braces required.

Another big point: What you name variables DOES matter. @unique does not really describe what that is (these are not the uniques of the original array, this is the consecutive range. I would suggest @consecutive as an alternative name.

use strict; use warnings; my @arr = (1,2,2,3,4,6); sub do_it_all { my $biggest = $_[0]; my $smallest = $_[0]; foreach my $num (@_) { $biggest = $num if ($num > $biggest); $smallest = $num if ($num < $smallest); } print "\$smallest = $smallest\t\$biggest = $biggest\n"; my @consecutive = ($smallest..$biggest); print "@consecutive\n"; } do_it_all(@arr); __END__ $smallest = 1 $biggest = 6 1 2 3 4 5 6
Update: Instead of "do_it_all", perhaps "conseq_range" or similar would be better?
  • Comment on Re^5: add missing elements and remove duplicates....and some more questions.
  • Download Code

Replies are listed 'Best First'.
Re^6: add missing elements and remove duplicates....and some more questions.
by pritesh_ugrankar (Monk) on Apr 25, 2017 at 18:48 UTC

    Hi Marshall,

    Those are some awesome points. Thanks for the suggestions.

    Thinkpad T430 with Ubuntu 16.04.2 running perl 5.24.1 thanks to plenv!!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2024-04-20 00:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found