Was ist der Unterschied zwischen Eltern und Basis in Perl 5?
Scheint es eine neue pragma namens parent
, dass hat in etwa das gleiche wie base
. Was bedeutet parent
tun, dass garantiert ein neues (non-core) Modul? Bin ich etwas fehlt?
InformationsquelleAutor der Frage Chas. Owens | 2009-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
base
versuchte man zu viele Dinge – automatisch-handling-Module laden, sondern ermöglicht auch die Festlegung der Vererbung von Klassen, die bereits geladen (möglicherweise aus einer Datei, deren name war nicht auf der Grundlage der Modul-name). Um irgendwie machen es Arbeit, gab es einige Hack verursacht hat überraschende Ergebnisse in einigen Fällen. Als Bruch der Rückwärtskompatibilität, eine neue, Ersatz-pragmaparent
eingeführt wurde, mit sauberer Semantik.parent
wird ein core-Modul als der 5.10.1.Update: vergessen, dass
base
Griffefields
(wenn Sie mit derfields
pragma), dieparent
nicht tun.InformationsquelleAutor der Antwort ysth
Bewaffnet mit dem zusätzlichen bit von Informationen aus ysth, ich war in der Lage, um die Unterschiede zu sehen in der Dokumentation:
Den
base
pragma die folgenden Dinge:@ISA
erfordern
(es sei denn, er erkennt, dass das Paket bereits geladen wurde)$VERSION
existiert nicht in namens-Paket, Basis-sets es zu"-1, set by base.pm"
Felder
des benannten Pakets, wenn Sie vorhanden sindDen
parent
pragma die folgenden Dinge:@ISA
require
InformationsquelleAutor der Antwort Chas. Owens