0

我想知道你们中是否有人知道如何在其他语言中使用诸如“break”之类的命令来退出循环。

4

1 回答 1

0

实际上,您可以只使用“break;” 在 GAMS 中也是如此。版本 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;
);
于 2017-01-17T10:01:55.320 回答