008 Stata循环:continue and break

前面我们介绍了三种循环:

  • while循环
  • foreach循环
  • forvalues循环
    其中,foreach和forvalues都可以看作是while循环的变种。两者的区别在于foreach跟的对象可以是宏、变量名和文件名等,而forvalues跟的必须是数字。

有时在做一个循环时,会遇到某种情况需要终止

  • 中止余下命令,返回到循环开始进行下一轮循环:continue
  • 中止全部命令,跳出循环:continue,break
*示例1
clear
forvalues i = 1(1)10 {
    disp `i'
    if `i' > 5{
        continue
    }
    disp "`i':Hello World"
}

1
1:Hello World
2
2:Hello World
3
3:Hello World
4
4:Hello World
5
5:Hello World
6
7
8
9
10

上面的程序是两个循环,当i大于5时,就中断第二个if循环,只执行第一个forvalues循环。

*示例2
clear
forvalues i = 1(1)10 {
    disp `i'
    if `i' > 5{
        continue,break
    }
    disp "`i':Hello World"
}

1
1:Hello World
2
2:Hello World
3
3:Hello World
4
4:Hello World
5
5:Hello World
6

和示例1对比,可以看出当i大于5时,执行continue,break,会把两个循环全部中止,跳出循环。

参考资料:
【爬虫俱乐部】精通Stata之数据整理

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容