如何正确使用size()函数获取列车Agent车厢数及解决调用报错
Railyard库中Select Output模块判断列车车厢数的正确写法
一、确认正确的Agent名称
- 选中Train Source模块,查看其属性面板,面板里会显示该模块生成的Agent类型(通常是
Train)和默认实例名称(一般为train),这就是你要调用的对象名。 - 也可以在Select Output模块的代码编辑框中按
Ctrl+Space触发自动补全,下拉列表里会列出当前上下文可访问的Agent对象,直接选择对应列车对象即可。
二、修正代码写法
你之前的写法存在语法错误或API调用错误,正确的写法需要结合Railyard库的Train对象API来调整:
- 先通过自动补全查看Train对象的可用属性/方法:比如如果补全显示有
getCarCount()方法,就用train.getCarCount() > 25;如果是直接暴露的属性,就用train.carCount > 25。 - 避免语法错误:
- 不要在代码末尾加多余的分号(多数流程编辑器会自动处理,但冗余分号可能引发报错)
- 不要写
int size() > 25这类不符合语法的代码,直接调用对象的属性/方法做比较即可
三、额外注意事项
确保Select Output模块的输入直接连接到Train Source的输出,这样当前代码上下文的Agent就是列车对象;如果是从其他分支过来的,可能需要从流程变量中手动获取列车对象再做判断。
内容的提问来源于stack exchange,提问作者Maddie
相关产品推荐
相关产品推荐

