2014-10-28 156 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