2014-10-28 19 views
0

我有一個.do文件,我有一些長的代碼行被分解成多行。處理這種情況的一種方法是在行尾使用///命令。然而,這似乎並沒有在下面的應用程序的工作:Stata做文件///執行(做)錯誤

local abc "a b /// 
    c d /// 
    e f" 

出於某種原因,在做文件編輯器,第一///是黑色的,第二個是綠色的。當我選擇這部分代碼並點擊Execute (do)按鈕在Stata中運行它時,出現錯誤。什麼是要做?

回答

2

參見運行這些片段的結果:

local abc a b /// 
    c d /// 
    e f 

display "`abc'" 

local abc a b /* 
    */ c d /* 
    */ e f 

display "`abc'" 

local abc a b /// 
c d /// 
e f 

display "`abc'" 

在所有三個,Stata的理解,繼續下一行的願望。 Stata不喜歡的是你試圖將"包圍的字符串分成幾行。

還請檢查https://stackoverflow.com/a/26143229/2077064其中可能包含有用的參考。

+0

聽起來不錯。愚蠢的問題,但在我的例子中包括'''''做什麼不同於在你的例子中不使用'''''? – bill999 2014-10-28 17:44:25

+1

From ** [U] 18.3.4宏和表達式**:「...... Stata不介意在本地(全局)語句中省略雙引號。」我建議閱讀整個條目,以便了解應該感興趣的完整上下文和其他內容。 – 2014-10-28 18:01:09

+2

在這裏,例如:'本地abc「abc」「d」「e」「f」',引號將有所作爲。你也可以把它分成幾行,只是不要在相應的''''之間做。 – 2014-10-28 18:06:50