首页 > 解决方案 > 在 AnyLogic 中动态评估/执行字符串

问题描述

有没有办法通过评估/执行字符串来动态检查和设置 AnyLogic 中代理的参数?

我的情况:

我尝试使用 executeExpression,但它在离散事件执行期间抛出错误说 *Exception:

根:

无效的*

请看下面截图的函数体。

不幸的是,文档没有太多关于 executeExpression 的信息。任何帮助,将不胜感激。

在此处输入图像描述

标签: javaanylogic

解决方案


为了使表达式,您需要执行以下操作:

把你所有的停车位放在一个集合中,在这个例子中,我将把网络本身放在一个变量中

该变量将是 RoadNetwork 类型,并将具有初始值 roadNetwork...让我们将此变量称为 rn

然后在表达...

CodeValue myCode = new CodeValue(this,"rn.getParkingLots().get(0).nFree()");

这将起作用。你可以对parkingLot0做同样的事情,把它放在一个名为pl0的变量中,类型为ParkingLot,初始值为parkingLot0,表达式将如下所示:

  CodeValue myCode = new CodeValue(this,"pl0.nFree()");

这也可以


推荐阅读