2016-06-01 11 views
4

Ich weiß, dass Sie einen mehrzeiligen String einer Variablen wie folgt zuordnen:Gibt es eine Möglichkeit, einer Objekteigenschaft eine mehrzeilige Zeichenfolge zuzuweisen?

MyVar = 
(
this 
is 
a 
string with multiple 
lines 
) 

Aber gibt es eine Möglichkeit, die oben Zeichenfolge in eine Objekt-Eigenschaft zuweisen? Ich habe versucht, es so zu tun, aber ich erhielt einen Fehler:

Array := {} 
Array["key"] = 
(
this 
is 
a 
string with multiple 
lines 
) 

Der Fehler sagt:

The following variable name contains an illegal character
"this
is
a
string"

Ich möchte nur in der Lage sein, meinen Skript in einem Texteditor zu öffnen und kopieren und Multiple- Zeichenketten direkt in den Editor als Eigenschaften von Objekten einfügen.

Antwort

1

Sie müssen den richtigen Zuweisungsoperator verwenden: = mit Objekten, ebenso muss Ihr Text von Anführungszeichen eingeschlossen werden.

Versuchen:

obj := {} 

obj["key"] := 
( 
"this 
is 
a 
string with multiple 
lines" 
) 

MsgBox % obj["key"] 

Oder Sie können dies tun unten:

x = 
(
this 
is 
a 
string with multiple 
lines 
) 

obj["key"] := x 

MsgBox % obj["key"] 

Sie können auch ein mehrzeiliges Objekt bauen wie so:

obj := {"key": 
(
"this 
is 
a 
string with multiple 
lines" 
)} 

MsgBox % obj["key"] 
0

ein rohes mehrzeilige Verwendung String-Zuweisung wie die folgende neigt dazu, jede Einrückung zu besiegen, die Sie in Ihrem Skript kultiviert haben.

str := {"Lines": 
(
"first 
second 
third" 
)} 

Obwohl das funktioniert. Wenn Sie schauen, um Ihren Code zu erhalten Einrücken dann können Sie eine mehrzeilige Zeichenfolge erstellen, indem Sie die Zeilen mit `n wie folgt abgrenzen:

str := {"Lines": "first`nSecond`nThird"} 
+0

Ihre beiden Beispiele falsch sind, müssen Sie Anführungszeichen um Text enthalten in beim Zuweisen , wie Sie es in Ihrem zweiten Beispiel getan haben, obwohl Ihre Trennzeichen in diesem Beispiel falsch sind (es sei denn, sie werden vom Standardwert geändert, die "n" sind, aber nicht angegeben wurden und die meisten Benutzer dies nicht tun würden). – errorseven

+0

guten Ruf, ich habe sie in meinen Beispielen korrigiert. Vielen Dank –

Verwandte Themen