AMPL:改变 .运行
AMPL: change .run
我对 AMPL 有疑问。
我想创建一个 main 以便根据用户输入的值执行不同的 .运行 。我尝试了以下说明:
param choice;
read choice <-;
if (choice == 1) then include initFirst.run;
if (choice == 2) then include initSecond.run;
但它们不起作用!这两个 .运行 都被执行,而不管选择的值。你能帮助我吗?谢谢!
尝试将两个地方的 "include" 替换为 "commands"。
Chapter 16 of the AMPL Book 讨论了这两者之间的区别。 "include" 在代码中的那个点有效地替换了包含文件的内容,这可能导致奇怪的结果 - 例如,包含的代码可能包含终止 "if choice == 2" 语句的内容,导致执行任何后续代码,即使 "if" 评估为 false。
(另外,感谢您提出这个问题,因为它帮助我意识到我一直在使用 "include",而我本该使用 "commands"!)
我对 AMPL 有疑问。 我想创建一个 main 以便根据用户输入的值执行不同的 .运行 。我尝试了以下说明:
param choice;
read choice <-;
if (choice == 1) then include initFirst.run;
if (choice == 2) then include initSecond.run;
但它们不起作用!这两个 .运行 都被执行,而不管选择的值。你能帮助我吗?谢谢!
尝试将两个地方的 "include" 替换为 "commands"。
Chapter 16 of the AMPL Book 讨论了这两者之间的区别。 "include" 在代码中的那个点有效地替换了包含文件的内容,这可能导致奇怪的结果 - 例如,包含的代码可能包含终止 "if choice == 2" 语句的内容,导致执行任何后续代码,即使 "if" 评估为 false。
(另外,感谢您提出这个问题,因为它帮助我意识到我一直在使用 "include",而我本该使用 "commands"!)