Warum sollten Sie NICHT ein array zurückgeben, ref?

In der Frage "Wieder ein ganzes array aus einem Perl-subroutine ineffizient" zwei Personen empfohlen, vor der Optimierung, wenn es keine Notwendigkeit für Sie. Als eine Allgemeine Regel, die Optimierung kann die Komplexität, und wenn es nicht mehr benötigt, einfach besser. Aber in diesem speziellen Fall der Rückgabe ein array oder ein array, ref, ich sehe nicht, dass es irgendeine zusätzliche Komplexität, und ich denke, dass die Konsistenz im interface-design wäre wichtig. Folglich habe ich fast immer etwas zu tun:

sub foo
{
   my($result) = [];

   #....build up the result array ref

   $result;
}

Gibt es einen Grund, ich sollte das nicht tun, ist auch für kleine Ergebnisse?

  • In "my($Ergebnis) = [];",, warum die Klammern?
  • Wieder, für Konsistenz Willen, ich Tue immer mein($foo); my($bar, $baz); ich nie tun 'my $foo', weil dann einige meiner "mein ' s" in einem skalarkontext und einige sind in einer Liste Kontext. Damit habe ich manchmal meine($cnt) = scalar(@array); dessen bin ich mir sicher, würden einige Leute verrückt....
Schreibe einen Kommentar