AnyLogic - 为啥我的基于条件的转换不起作用?
Posted
技术标签:
【中文标题】AnyLogic - 为啥我的基于条件的转换不起作用?【英文标题】:AnyLogic - Why does my condition based transition not work?AnyLogic - 为什么我的基于条件的转换不起作用? 【发布时间】:2018-06-01 23:46:38 【问题描述】:我有一个与状态图中的转换有关的问题(见上图)。我有一个名为palletInUse
的变量,它是一个布尔类型,在真假之间变化。对于状态图中的一个转换,我希望它在变量 PalletInUse 的值为 true 时发生变化。例如,我已经尝试过:
palletInUse == true;
还尝试了不同的代码,例如 equals 和 contentEquals 等,但似乎没有任何效果。对于这个看似简单的问题,您有解决方案吗?
提前致谢
【问题讨论】:
【参考方案1】:仅当代理中的某些内容发生更改时,不会持续监控该条件。当您使用常见的“=”Java 运算符为变量分配新值时,AnyLogic 引擎不会捕获它。之后您需要调用 onChange() 函数。然后,应该执行转换。
还有其他方法可以在没有显式 onChange() 调用的情况下触发条件检查。你可以找到他们in AnyLogic Help article。
顺便说一句,您可以只指定布尔变量作为条件,不需要与true
或false
进行比较:
palletInUse
【讨论】:
【参考方案2】:如果没有发生任何事情,则不会评估条件,因此您必须不断发生某些事情才能评估您的条件。一种典型的做法如下图所示:
【讨论】:
以上是关于AnyLogic - 为啥我的基于条件的转换不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥外部链接在构建后在 phonegap 应用程序上不起作用