使用Exit/Enter Block创建新Agent报错:take(Agent)方法未定义
问题解决
错误的核心是你误用了Enter块的方法,enter.take(Ober)这种写法根本不存在,和你的Agent有没有参数没关系。
你的代码里,add_materials()已经帮你创建了一个属于该Population的无参数Agent实例,问题出在后续操作:
- 删掉
enter.take(Ober);这行代码,这是完全错误的用法。 - 如果你想让新创建的Agent进入Enter块对应的流程,应该用
enter.send(Ober);把Agent发送到Enter块的输入端口。 - 另外,若只是要生成新Agent,其实不需要用Exit块,直接在Delay块的退出事件里执行创建和发送逻辑即可。
内容的提问来源于stack exchange,提问作者Xitus
相关产品推荐
相关产品推荐

