如何在AnyLogic中检查一个代理的参数是否等于另一个代理的参数?

问题描述 投票:0回答:1

我有一个简单的模型,有两个代理:发货和位置。快件具有不同的参数,包括“目的地”。位置是一组代理,其中包含一个名为“name”的参数(每个位置的名称)和一个名为“shpNbr”的变量。

发货从源头开始,进入队列,然后延迟阻塞。在延迟块中,我想检查货件的目的地,如果它等于位置中的名称参数之一,则会将该位置的 shpNbr 变量增加一。 如果有人能帮助我,我将不胜感激。我不知道如何在主窗口中引用不同代理的参数并进行比较。

anylogic
1个回答
0
投票

首先,了解您的模型层次结构,这非常重要,因为每个模型都不同:https://anylogic.help/advanced/code/access.html#where-am-i-and-how-do-i-get -到

如果(且仅当)您在

Main
中嵌入了一个 Shipment 代理,在 Main 中嵌入了一个 Location 代理,并且如果流程图本身位于 Main (!) 上,您可以在 Delay 块中使用类似于

的代码
agent.whateverStringParam.equals(myLocationAgent.whateverOtherParam)

这会返回 true 或 false,在 if 语句或其他语句中使用它。

如果仍然没有意义,我推荐“Java for AnyLogic 课程”,因为掌握这一点非常重要

© www.soinside.com 2019 - 2024. All rights reserved.