2016-06-01 109 views
4

我知道,你可以在多行字符串賦值給這樣一個變量:有沒有辦法將多行字符串分配給對象屬性?

MyVar = 
(
this 
is 
a 
string with multiple 
lines 
) 

但有分配上述字符串對象屬性的方法嗎?我試圖做這樣的,但我收到一個錯誤:

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

錯誤說:

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

我只是希望能夠在一個文本編輯器打開我的腳本複製並粘貼多重直接將字符串作爲對象的屬性插入編輯器。

回答

1

您必須使用適當的賦值運算符:=與對象類似,您的文本也需要用引號括起來。

嘗試:

obj := {} 

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

MsgBox % obj["key"] 

或者你可以在下面這樣做:

x = 
(
this 
is 
a 
string with multiple 
lines 
) 

obj["key"] := x 

MsgBox % obj["key"] 

您也可以建立一個多對象,像這樣:

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

MsgBox % obj["key"] 
0

使用原料多字符串賦值如下,它傾向於打敗您在腳本中可能培養的任何縮進。

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

雖然這將工作。如果你正在尋找保存你的代碼縮進,那麼你可以通過`ñ這樣的界定線創建多字符串:

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

您的兩個例子是錯誤的,你必須包括文本週圍報價在分配時,就像你在第二個例子中所做的那樣,儘管你的分隔符在那個例子中是錯誤的(除非它們被默認的'n改變,但沒有被指定,並且大多數用戶不會這麼做)。 – errorseven

+0

好的電話,我已經在我的例子中糾正了他們。謝謝 –