如何像在其他语言中使用 "break" 一样离开 GAMS 循环?

How to leave GAMS loop like using "break" in other languages?

我想知道你们中是否有人知道如何使用 命令如 "break" 在其他语言中。

实际上,您也可以在 GAMS 中使用 "break;"。中断和继续是在版本 24.8.1 (http://www.gams.com/latest/docs/releasenotes/24.8.html#g2481_GAMS) 中引入的。所以这有效:

set i /i1*i3/;
scalar cnt /0/;

loop(i,
  cnt = cnt+1;
  display cnt;
  break;
);

ps:作为替代方案(也适用于旧版本的 GAMS),您可以使用这样的 $-condition,以获得与上述相同的行为:

set i /i1*i3/;
scalar cnt /0/, run /1/;

loop(i$run,
  cnt = cnt+1;
  display cnt;
  run = 0;
);