AnyLogic - 使用引用 DES 代理变量的函数
AnyLogic - using Functions refering to DES agents variables
我正在为 DES 进程建模,我需要在许多块的“On Enter”处有一个重复的代码。所以代码看起来像这样:
if(agent.batchSize > 1999)
agent.priority = 100;
else if(agent.batchSize > 999)
agent.priority = 80;
因为这是重复的,所以我想更改一次而不是在每个块中更改。所以我想我可以使用一个函数。但是函数不会理解“代理”。语法,因为它在 DES 块之外。
如何解决这个问题?
非常感谢,
埃米尔
使用您的代理实际类型的参数“代理”定义您的函数。如果您没有给他们指定特定的代理类型,只需将类型定义为 Agent
,如下所示:
还请研究更多示例模型和帮助,因为这是 AnyLogic 和一般编程的核心功能:)
我正在为 DES 进程建模,我需要在许多块的“On Enter”处有一个重复的代码。所以代码看起来像这样:
if(agent.batchSize > 1999)
agent.priority = 100;
else if(agent.batchSize > 999)
agent.priority = 80;
因为这是重复的,所以我想更改一次而不是在每个块中更改。所以我想我可以使用一个函数。但是函数不会理解“代理”。语法,因为它在 DES 块之外。
如何解决这个问题?
非常感谢,
埃米尔
使用您的代理实际类型的参数“代理”定义您的函数。如果您没有给他们指定特定的代理类型,只需将类型定义为 Agent
,如下所示:
还请研究更多示例模型和帮助,因为这是 AnyLogic 和一般编程的核心功能:)