On Jan 30, Robin Sheat said: >I have a function that takes a fairly complex set of arguments, and am >wondering if there is a better way of doing this than the way I have >done. A call to the function, as I have it, looks like: > >$network->potentiateWeights('network',1,(0,0,0, > 1,2,3, > 3,2,2)); [snip] >sub potentiateWeights { > my $self = shift; # for the OO-ness > my $net = shift; > my $delta = shift; > my (@src, @dest, @layer);
Here, you could make sure that @_ % 3 == 0, which insures that triplets were indeed sent. But, based on your code below: > while (@_) { > push @src, shift; > push @dest, shift; > push @layer, shift; > } since @src = (0,1,3), @dest = (0,2,2), and @layer = (3,2,2), wouldn't it make more sense to pass the triplets as array references like so: $network->pW(network => 1, [0,1,3], [0,2,2], [3,2,2]); sub pW { my $self = shift; my ($net, $delta, $src, $dest, $layer); # and then deal with @$src, @$dest, @$layer } That'd be my strategy. -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>