Wil*_*uck 8 undefined stata stata-macros
我正在写一个Stata do文件,如果用户不提供某些参数,我想提供默认值.为此,我想检查宏是否未定义.
我想出了一个hacky方法来做到这一点:
*** For a local macro with the name value:
if `value'1 != 1 {
...do stuff
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有惯用的方法来做到这一点.
小智 8
如果未定义,宏的内容将为空.你可以这样做:
if missing("`mymacroname'") {
display "Macro is undefined"
}
Run Code Online (Sandbox Code Playgroud)
如果宏将包含数字,则实际上不需要引号.该missing(x)函数可以处理字符串和数字.这有点像测试(x=="" | x==.)
这个问题要求采用惯用的方式来实现这一目标并跨越Stata程序员
if "`macroname'" != ""
Run Code Online (Sandbox Code Playgroud)
是否最常用的测试宏是否定义.宏在定义时包含字符串,这是一般用法; 使用数字字符只是一种特殊情况.
| 归档时间: |
|
| 查看次数: |
4884 次 |
| 最近记录: |