Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Variablen

Variablen enthalten Werte, die sich während der Ausführung der Erweiterung ändern können. Aufgrund der dynamischen Typisierung kann jede Variable Werte eines beliebigen Typs enthalten. Es gibt keine Typdeklarationen für Variablen. Stattdessen wird der Typ einer Variablen zur Laufzeit bestimmt. Tatsächlich kann sich der Typ des Werts einer Variablen während der Ausführung ändern, obwohl dies keine empfohlene Vorgehensweise ist. Eine Variable hat anfangs den Wert nil.

Variablennamen sind Bezeichner, ebenso wie Zeichenketten aus Buchstaben, Ziffern und Unterstrichen, die nicht mit einer Ziffer beginnen. Beispiele: headers, combined_headers.

Globale Variablen

In Lua sind Variablen, die nicht anderweitig deklariert sind, innerhalb des Programms global. Globale Variablen sind in Funktionen zur Richtlinienerweiterung jedoch nicht zulässig, da es mehrere Packet Engines gibt, in denen eine Funktion ausgeführt werden kann, und jede Packet Engine über ihren eigenen Speicher verfügt.

Wenn Sie eine globale Variable in Ihrer Erweiterung verwenden, erhalten Sie einen Laufzeitfehler: versuchen Sie, einen globalen Bericht in /var/log/ns.logzu aktualisieren oder zu erstellen.

Tippfehler in Variablennamen sind ein potenzielles Problem, da die Variable mit dem Tippfehler als eine andere, globale Variable interpretiert wird und keinen Syntaxfehler verursacht wie in Sprachen wie C oder Java. Wie oben erwähnt, erhalten Sie stattdessen einen Laufzeitfehler.

Lokale Variablen

Eine Variable kann als lokal für einen Block von Anweisungen deklariert werden, z. B. für eine Funktion. Dies erfolgt durch den lokalen Variablennamen. Die Variable wird auf den Block beschränkt, das heißt, sie existiert nur innerhalb des Blocks. Die lokale Deklaration kann der Variablen optional einen Wert zuweisen.

Beispiele:

lokale Header = {} local combined_headers = {}

Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
Variablen