Thread Nicht benötigte Argumente trotzem in eine Variable kopieren?
(29 answers)
Opened by Kuerbis at 2018-02-22 08:19
Die Frage ist doch eher, wie man seine Funktionen organisiert. Spätestens seit OOP in Perl Einzug hielt ( so ab dem Jahr 2000 etwa ), sollte sich der Begriff Namespace herumgesprochen haben. D.h., daß man Funktionen vorzugsweise mit dem Namen einer Klasse oder mit dem Namen einer Instanz aufruft -> da findet immer eine Übergabe statt.
Es sei denn man hält an der Konvention namespace::function() fest, aber auch in diesem Fall gibt es @_ auch dann wenn nichts drinsteht. In Methoden für Instanzen jedenfalls, würde ich grundsätzlich immer kenntlich machen, daß es Methoden von Instanzen sind. Also ein notieren, auch dann wenn keine weiteren Argumente im Spiel sind. Ein Array mit Pfaden zurückzugeben macht übrigens nur dann einen Sinn, wenn all diese Pfade in der Anwendung eine Rolle spielen. Wenn es nur ein Pfad ist, lohnt es sich über einen dafür assoziierten Namen nachzudenken, also wie man seine ganze Konfiguration aufbaut. Ein Aufruf zur Herstellung einer Sitzung könnte dann so aussehen: Code (perl): (dl
)
my $dbh = $self->dbh('dbname'); was ich persönlich zweckmäßiger finde, als in der Anwendung ein Array durchgehen zu müssen. Und wenn der Name der DB schon vor der Instanzerstellung feststeht, könnte man den ganzen Kram auch im Konstruktor erledigen ;) MfG |