搜索
查看: 5242|回复: 13

[入门教程] break label, continue label, break N, continue N 语句

  [复制链接]

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
发表于 2013-6-5 11:33:13 | 显示全部楼层 |阅读模式
break语句中断并退出当前循环语句。
continue语句跳过当前循环体剩下的部分,继续执行下一次循环。
关于循环语句、以及break、continue语句的基本用法请参考《 aardio语法手册 - break语句》  

一个循环语句可以嵌套包含另一个循环语句,
如果希望在内层循环中跳过外层循环,那么普通的break、continue语句就无能为力了。

break label,continue label 通过为循环指定一个标号以中断指定的循环。
break N,continue N 通过指定循环语句的嵌套层次以中断指定的循环。

下面分别看一下在不同编程语言中对该语法的支持。


回复

使用道具 举报

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
 楼主| 发表于 2013-6-5 11:39:15 | 显示全部楼层

[code]import php; import console; php.print = function( s ) { console.log( s

  1. import php;
  2. import console;
  3. php.print = function( s ) {
  4.         console.log( s )
  5. }

  6. phpcode =/*
  7.    
  8.         for ($i = 0; $i < 3; $i++) {
  9.          
  10.                    for ($j = 0; $j < 3; $j++) {
  11.                     
  12.                       if ($i == 1 && $j == 1) {
  13.                          continue 2; //中断向上第二层的循环
  14.                       } else {
  15.                          print("$i = " . $i . ", $j = " . $j);
  16.                       }
  17.                    }
  18.         }
  19. */
  20. php.exec(phpcode)  
复制代码
break-n.png
回复

使用道具 举报

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
 楼主| 发表于 2013-6-5 11:42:51 | 显示全部楼层

[code]import console; import web.script var vm = web.script( ) vm.external =

  1. import console;
  2. import web.script
  3. var vm = web.script( )
  4. vm.external = {
  5.         log = function(...){
  6.                 console.log( ... )
  7.         }
  8. }

  9. var javascript = /*  
  10.     var i, j;
  11.    
  12.         loop1:
  13.         for (i = 0; i < 3; i++) {
  14.        
  15.                    loop2:
  16.                    for (j = 0; j < 3; j++) {  
  17.                       if (i == 1 && j == 1) {
  18.                          continue loop1;
  19.                       } else {
  20.                          external.log("i = " + i + ", j = " + j);
  21.                       }
  22.                    }
  23.         }

  24. */
  25. vm.AddCode( javascript );
复制代码
break-lable.png
回复

使用道具 举报

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
 楼主| 发表于 2013-6-5 11:48:01 | 显示全部楼层

与javascript的区别是:aardio将循环[color=Blue]标号写在循环体内部开始处[/color] 。[code]import console;

与javascript的区别是:aardio将循环标号写在循环体内部开始处
  1. import console;

  2. var i, j;
  3. for (i = 0; 2; 1 ) { loop1:

  4.    for (j = 0; 2; 1) { loop2:
  5.    
  6.       if (i == 1 && j == 1) {
  7.          continue loop1;
  8.       }
  9.       else {
  10.          console.log("i = " + i + ", j = " + j);
  11.       }
  12.    }
  13. }
复制代码
break-lable-aauto.png

aardio也支持PHP中的break N,continue N语法,大家可以自己动手测试一下。




回复

使用道具 举报

6

主题

132

帖子

1109

积分

四级会员

Rank: 6Rank: 6

积分
1109
发表于 2013-6-5 11:50:39 | 显示全部楼层

谢谢分享!!

谢谢分享!!
静步
回复

使用道具 举报

18

主题

122

帖子

688

积分

三级会员

各种菜

Rank: 4

积分
688
发表于 2013-6-5 12:17:16 | 显示全部楼层

学习了啊!原来还可以这样

学习了啊!原来还可以这样
aardio,让我的心插上翅膀
回复

使用道具 举报

0

主题

11

帖子

75

积分

一级会员

小菜鸟

Rank: 2

积分
75
发表于 2013-6-7 11:29:01 | 显示全部楼层

学历了。。。。。。。。。

学历了。。。。。。。。。
回复

使用道具 举报

0

主题

2

帖子

11

积分

新手入门

Rank: 1

积分
11
发表于 2013-6-7 13:09:32 | 显示全部楼层

图文并茂,清晰易懂,谢谢分享!!

图文并茂,清晰易懂,谢谢分享!!
回复

使用道具 举报

8

主题

125

帖子

844

积分

三级会员

Rank: 4

积分
844
发表于 2013-6-9 09:57:23 | 显示全部楼层

学习了 谢谢分享这么详细的演示

学习了
谢谢分享这么详细的演示
回复

使用道具 举报

2

主题

23

帖子

170

积分

一级会员

Rank: 2

积分
170
发表于 2013-6-9 10:48:53 | 显示全部楼层

谢谢分享~

谢谢分享~
回复

使用道具 举报

0

主题

24

帖子

132

积分

一级会员

Rank: 2

积分
132
发表于 2013-6-11 15:42:43 | 显示全部楼层

很好的示例代码,谢谢...又学到一招

很好的示例代码,谢谢...又学到一招
回复

使用道具 举报

0

主题

11

帖子

140

积分

一级会员

Rank: 2

积分
140
发表于 2013-9-7 16:58:26 | 显示全部楼层

很强大的探索精神{:3_41:}

很强大的探索精神
回复

使用道具 举报

0

主题

1

帖子

7

积分

新手入门

Rank: 1

积分
7
发表于 2013-10-7 11:25:55 | 显示全部楼层

不错!起码看起来有点意思

不错!起码看起来有点意思
回复

使用道具 举报

0

主题

15

帖子

90

积分

一级会员

Rank: 2

积分
90
QQ
发表于 2017-12-17 19:37:34 | 显示全部楼层
很好,很不错啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-8-22 07:06 , Processed in 0.093750 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表