第四章 Caché 命令大全 CONTINUE 命令

文章目录

第四章 Caché CONTINUE 命令

跳出本次循环ForWhileDo While命令并重新执行循环。

重点

  1. CONTINUE 命令 只在块级语法有效。

大纲

CONTINUE:pc

参数

  • pc 可选,后置表达式

描述

CONTINUE命令在FORWHILEDO WHILE命令之后的代码块内使用。 继续使执行跳回FORWHILEDO WHILE命令。FORWHILEDO WHILE命令测试条件,并基于该测试重新执行代码块循环。因此,CONTINUE命令对执行的影响与到达代码块的右大括号(})完全相同。

Continue不接受任何参数(后置条件除外)。必须至少用两个空格将其与同一行上紧随其后的命令隔开。

CONTINUE可能导致执行跳出TRYCATCH块以返回其控制流语句。

参数

pc

可使命令具有条件的可选后置条件表达式。如果后置条件表达式为TRUE(计算结果为非零数值),则Caché执行CONTINUE命令。如果后置条件表达式为假(计算结果为零),则Caché不执行该命令。

示例

下面的示例将CONTINUE与后置条件表达式一起使用。它遍历并打印出从1到10的所有数字,3除外:

/// d ##class(PHA.TEST.Command).TestContine()
ClassMethod TestContine()
{
	FOR i=1:1:10 {
		IF i # 2 { 
			CONTINUE:i=3
			WRITE !,i," 是奇数" 
		}
		ELSE { 
			WRITE !,i," 是偶数" 
		}
	}
	WRITE !,"结束循环"
	QUIT
}
DHC-APP>d ##class(PHA.TEST.Command).TestContine()
 
1 是奇数
2 是偶数
4 是偶数
5 是奇数
6 是偶数
7 是奇数
8 是偶数
9 是奇数
10 是偶数
结束循环

下面的示例显示两个嵌套的for循环。Continue跳回到内部循环中的for

/// d ##class(PHA.TEST.Command).TestContineFor()
ClassMethod TestContineFor()
{
	FOR i=1:1:3 {
		WRITE !,"外部循环: i=",i
		FOR j=2:2:10 {
			WRITE !,"内部循环: j=",j
			IF j '= 8 {
				CONTINUE  
			}
			ELSE { 
				WRITE !," 输出8"
			}
		}
		WRITE !,"回到外部循环"
	}
	QUIT
}
DHC-APP>d ##class(PHA.TEST.Command).TestContineFor()
 
外部循环: i=1
内部循环: j=2
内部循环: j=4
内部循环: j=6
内部循环: j=8
 输出8
内部循环: j=10
回到外部循环
外部循环: i=2
内部循环: j=2
内部循环: j=4
内部循环: j=6
内部循环: j=8
 输出8
内部循环: j=10
回到外部循环
外部循环: i=3
内部循环: j=2
内部循环: j=4
内部循环: j=6
内部循环: j=8
 输出8
内部循环: j=10
回到外部循环

以下示例显示退出TRY块的CONTINUECONTINUE跳回到TRY块外部的FOR语句。

/// d ##class(PHA.TEST.Command).TestContineTry()
ClassMethod TestContineTry()
{
	FOR i=1:1:10 {
		WRITE !,"For循环的顶部"
		TRY {
			WRITE !,"在TRY块中: i=",i
			IF i=7 {
				WRITE " 幸运7" 
			}
			ELSE { 
				CONTINUE 
			}
		}
		CATCH exp {
			WRITE !,"Catch块异常处理程序",!
			WRITE "Error code=",exp.Code
			RETURN
		}
		WRITE !,"FOR循环的底部"
	}
	QUIT
}
DHC-APP>d ##class(PHA.TEST.Command).TestContineTry()
 
For循环的顶部
在TRY块中: i=1
For循环的顶部
在TRY块中: i=2
For循环的顶部
在TRY块中: i=3
For循环的顶部
在TRY块中: i=4
For循环的顶部
在TRY块中: i=5
For循环的顶部
在TRY块中: i=6
For循环的顶部
在TRY块中: i=7 幸运7
FOR循环的底部
For循环的顶部
在TRY块中: i=8
For循环的顶部
在TRY块中: i=9
For循环的顶部
在TRY块中: i=10

猜你喜欢

转载自blog.csdn.net/yaoxin521123/article/details/107134771
今日推荐