专栏名称: 爬虫俱乐部
Stata技术控,编程技术咨询,数据讨论与分享,编程和实证培训。
目录
相关文章推荐
西藏发布  ·  西藏5家企业被约谈! ·  3 小时前  
网信西藏  ·  西藏首届!各地(市)同步开展 ·  昨天  
51好读  ›  专栏  ›  爬虫俱乐部

排排坐,吃果果,……

爬虫俱乐部  · 公众号  ·  · 2017-08-30 16:33

正文

请到「今天看啥」查看全文


如何编写新命令

在介绍args之前,小编先给大家简单介绍一下在Stata中如何利用程序定义语句编写新的命令,它最大的作用在于,如果在写程序的过程中要反复调用同一段代码时,那么可以将这段代码写成子程序,然后直接调用子程序即可。

想象一下如果你向Stata输入hello,Stata也会自动向你问好,这种操作是不是很有意思?你只需要输入以下程序:

capture program drop hello //如果内存中已经有名为hello的命令,则删除,否则跳过这一步骤

program hello //开始编写名为hello的子程序

display "你好呀小可爱" //定义输入hello后将显示的内容,可以自由定义

end //结束程序编辑

hello //执行新命令hello

结果如图:

需要 注意 的是:这里使用程序定义语句编写的新命令,在你退出Stata或者删除该程序后( program drop hello )便不复存在了。

运用args的实例一

下面的小例子或许能帮你理解args的作用何在,我们先在Stata中输入以下程序:

clear

capture program drop listargs

program listargs

args a b c d

di "第一个参数为:`a'"

di "第二个参数为:`b'"

di "第三个参数为:`c'"

di "第四个参数为:`d'"

end

listargs

listargs we all love stata

listargs "we all love stata"

listargs we love stata

执行结果如图:

程序解释: 首先我们用程序定义语句编写了一个名为listargs的子程序,接着 args 进行了参数声明,它表明将子程序的第一、二、三、四个位置上的参数依次赋给宏`a'、宏 `b'、宏`c'和宏`d',程序编写完成后,调用子程序listargs,listargs后如果不键入任何内容,各个宏也就输出为空白;键入的"we all love stata"表示一个字符串,所以stata将双引号内的内容识别为第一个参数并赋给宏`a',后面的三个宏输出为空白;we love stata只有三个单词,所以宏`d'的内容为空白。







请到「今天看啥」查看全文