我如何结束全球名称?

时间:2016-05-12 21:12:44

标签: stata

我正在尝试从其他全局变量名称组成一个新的全局变量,如

global partA 1234
global partB 5678
global fullname $partA_$partB

然而,当我这样做时,下划线被解释为第一个全局名称的一部分。我目前的解决方案是从partA创建一个本地,然后执行

global fullname `partA'_$partB

如何将前两个全局变量连接成一个新的全局变量,并用下划线(或其他字符)将它们分开而不创建这个临时本地?

2 个答案:

答案 0 :(得分:2)

您可以在global之后的{}中加载$名称,如下所示:

global parta 1234
global partb 5678
global fullincorrect $parta_$partb

di "$fullincorrect"


global partc 1234
global partd 5678
global fullcorrect ${partc}_${partd}

di "$fullcorrect"

结果

. di "$fullincorrect"
5678

. di "$fullcorrect"
1234_5678

答案 1 :(得分:2)

这也可行:

. global partA 1234

. global partB 5678

. global fullname = "$partA" + "_" + "$partB" 

. di "$fullname" 
1234_5678

我不特别推荐它,但它是一个解决方案。关键的想法是全局宏保存字符串并+连接字符串。关键细节是引号不能是宏名称的一部分。这只是因为下划线可以是此问题所引发的宏名称的一部分。