You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AnyLogic中设置变量统计存储区托盘数量?

在AnyLogic中获取Storage内托盘数量的解决方法

AnyLogic的Storage组件不支持直接使用count()函数,你可以通过以下几种实用方法获取当前存储的托盘数量:

  • 调用Storage内置的size()方法
    这是最直接的方式,Storage组件自带size()方法,会返回当前存储的实体总数。假设你的Storage组件名为trayStorage,获取数量的代码如下:

    int trayCount = trayStorage.size();
    

    你可以将这段代码赋值给你的int变量,或者在需要展示/使用数量的地方直接调用trayStorage.size()。

  • 通过实体集合统计(支持过滤)
    如果需要统计特定类型的托盘,可通过getEntities()方法获取存储内的所有实体集合,再进行处理:

    // 获取所有托盘数量
    int totalTrayCount = trayStorage.getEntities().size();
    
    // 仅统计类型为Tray的实体数量
    int targetTrayCount = trayStorage.getEntities().stream()
        .filter(entity -> entity instanceof Tray)
        .collect(Collectors.toList())
        .size();
    
  • 绑定变量实现实时自动更新
    若需要让int变量实时同步存储区的托盘数量,可利用Storage的事件回调:

    1. 定义一个int类型变量,比如currentTrayNum,初始值设为0。
    2. 在Storage的On entry事件中添加代码:currentTrayNum++;
    3. 在Storage的On exit事件中添加代码:currentTrayNum--;
      这样每次有托盘进出存储区时,变量会自动更新,无需手动调用统计方法。

内容的提问来源于stack exchange,提问作者PaNDax ObEx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:42:06