sungmoo 发表于 2010-2-1 08:43 
*若把两个数字放入必选项中,可省略几行(但输入命令时要多输入几个字符);另外控制了不能同时输入ns与s:
cap pr drop ntest
pr ntest
qui{
clear all
syntax ,n(numlist >0 asc min=2 max=2) [ns s(str)]
if "`ns'"!=""&"`s'"!=""{
n di as error "ns and s should not be input together"
exit
}
token `n'
local i=`2'-`1'
set obs `i'
gen x=`1'*`2'
if "`ns'"==""{
if "`s'"!="" save `s',replace
else save test,replace
}
}
end
事实上,eblog 所设定的 Nosave 选项不是最佳的选择,若设定成 Save(filename) 会比较符合常规,呵呵。
另,sungmoo,虽说把 t1, t2 放到选项中,在写程序时可省略几行,但用的时候稍微麻烦一些。我有点奇怪,为何stata的syntax标准格式中只提供 syntax varlist, syntax namelist 这类的东东,若能提供 syntax numlist 这样的格式我们就不用这么费事了,呵呵。或许是stata考虑到,多数的操作都是以“变量”为基础的吧。