2016-03-21 8 views
1

Ich bin ein Anfänger in Lua-Programmierung, und ich möchte folgendes verstehen:Wie Parameter auf Lua verwenden Funktionen

Auf der Anweisung unten, warum sie diese Klammern verwendet wird ([ und ])? Ich habe nichts gefunden, was es erklärte.

conn:execute([[ 'MySQLSTATEMENT' ]]) 

Auch was, wenn die Funktion einen weiteren Parameter hatte? Wäre es so aussehen:

conn:execute('another parameter',[[ 'MySQLSTATEMENT' ]]). 

(Ich habe diese Beispiele aus dem Link: http://www.tutorialspoint.com/lua/lua_database_access.htm)

Antwort

5

Doppel eckigen Klammern werden verwendet, um Zeichenketten in Lua angeben. Diese Strings können mehrere Zeilen enthalten und Escape-Sequenzen als Klartext interpretieren. Bezüglich der Parameter werden sie nicht anders behandelt als jeder andere Wert. Ihr Beispiel ist syntaktisch korrekt für eine Funktion mit zwei Parametern.

Dieser Stil ist wünschenswert, wenn Ihre Strings Zeichen enthalten, die andernfalls manuell maskiert werden müssten, wie \, ' und ". Zum Beispiel ist es viel einfacher zu lesen und zu schreiben [[here's a "quote"]] als es ist oder 'here\'s a "quote"' schreiben.

Wir können auch Literalzeichenfolgen abgrenzen durch doppelte eckige Klammern passende [[...]] . Literale in dieser Klammerform können mehrere Zeilen lang sein, können verschachtelt sein und Escape-Sequenzen nicht interpretieren. Darüber hinaus ignoriert dieses Formular das erste Zeichen der Zeichenfolge, wenn dieses Zeichen eine Newline ist. Dieses Formular ist besonders praktisch zum Schreiben von Strings, die Programmteile enthalten;