Frage

Ich versuche, ohne zu wissen, viel Perl selbst Perl jemand anderem Code zu verstehen. Ich würde schätzen Ihre Hilfe.

Ich habe eine Perl-Funktion in diese Richtung gestoßen:

MyFunction($arg1,$arg2__size,$arg3)

Gibt es eine Bedeutung für die Doppelstrich-Syntax in $arg2, oder ist es nur einen Teil des Namens des zweiten Arguments?

War es hilfreich?

Lösung

Es gibt keine spezifische Bedeutung der Verwendung eines __ innerhalb eines Perl-Variablennamen. Es ist wahrscheinlich, Programmierer bevorzugt, vor allem in dem Fall, dass Sie in Ihrer Frage zitiert habe. Sie können weitere Informationen über perl Variablennamen finden Sie unter hier .

Andere Tipps

Wie in den meisten Sprachen unterstreichen nur ein Teil eines Bezeichners ist; keine besondere Bedeutung.

Aber sind Sie sicher, es ist Perl? Es gibt keine sigils auf die Variablen. Können Sie mehr Kontext posten?

Was die Dolmetscher betreffen, ein Unterstrich ist nur ein weiteres Zeichen in Bezeichnern erlaubt. Es kann als Alternative verwendet werden Fall Verkettung oder Kamel Mehrwortkennungen zu bilden.

Ein Unterstrich wird häufig verwendet, eine Kennung zu verstehen ist für den lokalen Gebrauch nur, z. für nicht ausgeführte Teile eines Moduls. Es ist lediglich eine Konvention; ist der Dolmetscher nicht.

Im Rahmen Ihrer Frage, der Doppelstrich hat keine programmatische Bedeutung. Doppel Unterstrichen etwas Besonderes für eine begrenzte Anzahl von Werten in Perl bedeutet, vor allem __FILE__ & __LINE__. Dies sind spezielle Literale, die nicht mit einem Sigill Präfix ($, % oder @) und werden nur außerhalb der Anführungszeichen interpoliert. Sie enthalten den vollständigen Pfad und Namen der aktuell ausgeführten Datei und die Zeile, die ausgeführt wird. Siehe Abschnitt 'Besondere Literale' in perldata oder dieser Beitrag auf Perl Monks

Ich bin ziemlich sicher arg2__size ist nur der Name einer Variablen.

Mark Antwort ist natürlich richtig, es keine besondere Bedeutung hat.

Aber ich mag beachten, dass Ihr Beispiel nicht wie Perl überhaupt nicht sehen. Perl-Variablen sind nicht Barewords. Sie haben die sigils, wie Sie oben von den Links zu sehen. Und Perl hat keine „Funktionen“, hat es Subroutinen.

So kann es einige Verwirrung darüber, welche Sprache wir sprechen.

Sie müssen den Interpreter sagen, dass „$ arg2“ ist der Name einer Variablen. und nicht "$ arg2__size". Dazu müssen Sie die Klammer verwenden. (Diese Verwendung ist ähnlich der in der Schale zu sehen ist).

Das sollte funktionieren MyFunction ($ arg1, arg2 $ {} __ Größe, $ arg3)

- Binu

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top