龙听期货论坛's Archiver

龙听 发表于 2021-9-12 18:29

【break 跳出loop循环语句】

循环停止的最常见方式是当它的真/假表达式变为假时。但在某些情况下,您可能希望提前退出循环或使用多个可以停止循环的退出条件。怎么做?

在 PowerLanguage 中使用 break 立即退出循环

的break关键字立即停止循环(MultiCharts维基,2012A)和循环结束后继续执行代码。循环内在循环之间break和循环结束之间的任何编程代码都将被跳过。

在for-to 循环中,基本模式break是:[code]for counter = beginValue to endValue begin

    // Code to execute repeatedly

    if (trueFalseExpression = true) then
        break;

end;[/code]在while 循环中,breaklook的基本用法如下:[code]while trueFalseExpression = true begin

    // Code to execute repeatedly

    if (anotherTrueFalseExpression = true) then
        break;

end;[/code]在这两个示例中,break都是在 if 语句计算表达式之后执行的。如果我们在break没有条件的情况下执行,它会在第一个循环周期触发并且代码永远不会重复。这将违背使用循环的目的。

该break关键字与关键字有些相似#return,但会#return跳过所有剩余的编程代码(参见 MultiCharts Wiki,2012b),而break仅“跳过”循环内的剩余代码,然后代码继续在循环下方执行。

跳出一个向下的循环

向下循环中的break关键字示例如下:[code]Variables:
    x(0);

for x = 10 downto 0 begin

    if (x = 5) then begin
        Print("Breaking out of the loop");
        break;
    end;

    Print("x = ", x);

end;

Print("Loop ended");
[/code][code]//> x =   10.00
//> x =    9.00
//> x =    8.00
//> x =    7.00
//> x =    6.00
//> Breaking out of the loop
//> Loop ended[/code]这个向下循环从 10 开始,并计划继续向下到 0。但是当x变量等于 5 时,break将执行并且循环在循环的中间被中止。这样,x仅打印值 10 到 6 的值。

用 break 退出无限循环

一个无限循环是一直运行的循环。但是我们总是可以break用来停止“永远”循环:[code]Variables:
    y(0);

y = 0;

while true begin

    Print("y = ", y);

    y = y + 1;

    if (y > 4) then
        break;

    if (y = 0) then begin
        Print("Something went wrong; y is still 0");
        break;
    end;

end;[/code][code]//> y =    0.00
//> y =    1.00
//> y =    2.00
//> y =    3.00
//> y =    4.00[/code]这个while 循环是一个无限循环,因为只要它的真/假表达式为真 ( while (true)),它就会一直持续下去,它总是如此。

在循环内部,两个 if 语句可以执行break关键字。当y大于 4时循环停止,导致循环最多运行 5 次。当 的值y在循环结束时仍然为 0 时,我们假设出现问题并使用 退出无限循环break。当y变量基于计算或用户输入时,可能会发生这种情况。

有关更多信息break,请参阅打破嵌套的 PowerLanguage 循环。

概括

该break关键字立即停止循环。循环之间break和循环结束之间的循环内的任何编程代码都将被跳过,并且代码在循环结束后继续执行。

页: [1]