龙听期货论坛's Archiver






 微信: QQ:

龙听 发表于 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]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......