2013-06-19 12 views
15

Ich habe nur eine allgemeine FrageUnterschied zwischen 'und "innerhalb Lua

Gibt es einen Unterschied Einzel- und Doppel Anführungszeichen innerhalb Lua mit

. Beispiel:?

require('test.lua') 
require("test.lua") 

Wenn ich programmierte In PAWN, einer Sprache, die C ähnelt, könnten einfache Anführungszeichen für Zeichen verwendet werden, aber keine Textfolgen, Sie mussten doppelte Anführungszeichen für sie verwenden

Und wenn es keine gibt Unterschied, welcher wird empfohlen?

Diese Frage wurde höchstwahrscheinlich bereits beantwortet, jedoch konnte ich ein bereits beantwortetes Thema nicht finden.

Vielen Dank.

+0

Kein Unterschied. Wenn Sie sich entscheiden, '' '' '' '' für Array-Variablen zu verwenden, können Sie einfach Punktnotation verwenden. –

+0

Ah okay vielen Dank für Ihre schnelle Antwort, wieder, welche wird häufiger verwendet? – Bicentric

+0

Verwenden Sie einfach Anführungszeichen Wenn Sie doppelte Anführungszeichen in der Zeichenkette haben, und einfache Anführungszeichen, wenn Sie doppelte Anführungszeichen in der Zeichenkette haben, können Sie auch in beiden mit dem umgekehrten Schrägstrich-Zeichen entkommen, so dass es egal ist, welche Sie auswählen auf Vorliebe, weil es wirklich keine Rolle spielt. –

Antwort

19

Nein. Kein Unterschied, außer dass Sie den anderen innerhalb der, die Sie verwenden, einschließen können.

-- No difference between these 
myStr = "Hi!!" 
myStr = 'Hi!!' 
myStr = [[Hi!!]] -- The 'weird' way to make a string literal IMO... 

-- Double quotes enclosed in single quotes  
myStr = 'My friend said: "Hi!!"' 

-- Single quotes enclosed in double quotes 
myStr = "My friend said: 'Hi!!'" 

-- Single and double quotes enclosed in double brackets 
myStr = [[My friend said: "What's up?"]] 

See: Strings in Lua für weitere Informationen.

+0

Ah okay, wieder vielen Dank für Ihre Antwort, es wird sehr geschätzt. Allerdings möchte ich immer noch wissen, welche ist häufiger :) Ich denke, das doppelte Anführungszeichen ist einfach weil Strings in einer Vielzahl von Sprachen doppelte Anführungszeichen verwenden. – Bicentric

+0

Ja, in C, C++, C#, Java und vielen anderen Sprachen werden doppelte Anführungszeichen für Zeichenfolgenliterale und einfache Anführungszeichen für Zeichenliterale verwendet. – AtinSkrita

+2

@Bicentric Sie denken zu viel darüber nach. Benutze einfach das, was dir gefällt - es gibt kein bevorzugtes über das andere. Ich neige dazu, '' 'zu verwenden, da ich keine zusätzliche Shift-Taste halten muss, wenn ich sie tippe. – greatwolf

1

Sie können herausfinden, über Lua Saiten leicht genug, indem Sie im Internet nach "Lua Strings" suchen.

Hier ist ein Ergebnis: http://www.lua.org/pil/2.4.html

Sie sind frei, Ihre eigenen Zitat Stil wählen, da es keinen Unterschied macht, aber man sollte konsistent sein, so dass Ihr Code ist schöner zu lesen.

Als Präferenz würde ich normalerweise doppelte Anführungszeichen verwenden, weil Lua C-style Escape-Codes verwendet. Viele Skriptsprachen (z. B. Perl) und Befehlshüllen do machen die Unterscheidung zwischen Strings mit einfachem und doppeltem Anführungszeichen, und es wäre schön, mit diesen quasi-standardisierten Verfahren ein wenig übereinzustimmen.

Ich meine, wenn ich eine Zeichenfolge in Anführungszeichen sehe, muss ich tatsächlich darüber nachdenken, welche Sprache ich lese, und ob Escort-Codes in dieser Zeichenfolge ersetzt werden oder nicht. Bei Strings mit doppelten Anführungszeichen muss ich nicht darüber nachdenken, da in der Regel jede Sprache, die C-Style-Escape-Codes in einem String ersetzt, dies in einem String mit doppelten Anführungszeichen tun wird.

+0

Ah danke für deine Antwort auch :) – Bicentric

+0

Die PIL, die online verfügbar ist, ist jetzt schrecklich veraltet (Klammer-Delimiter '[[Verschachtelung von 5.0 wurde mit' \ [= * \] 'Syntax ersetzt) ​​ist es normalerweise besser zu Siehe das Handbuch: http://www.lua.org/manual/5.2/manual.html#3.1 – dualed

1

Es gibt keinen Unterschied zwischen den beiden in Lua, so dass Sie verwenden können, was Sie wollen. Ich neige dazu, semantisch zwischen ihnen zu unterscheiden:

  • Ich benutze "double quotes" für den Benutzer sichtbaren Strings und Text erscheint im Grunde alles, was auf den Ausgang oder in Dateien
  • Ich benutze 'single quotes' für Options wie Strings für Methoden vorbei und in der Regel in Code, wie io.stdout:setvbuf('no')
Verwandte Themen