迭代代理的参数
Iterate over agent's parameters
我正在通过代码创建一个基于另一个代理的代理。原始代理在一个正在处理的延迟块中,我想创建只有 id 会更改的副本,并在 Enter 块中执行方法。
为了从原始代理复制信息,我似乎找不到比指定每个参数更好的方法,如下所示:
newAgent.color = original.color;
newAgent.component = original.component;
newAgent.geometry = original.geometry;
...
newAgent.LastParameter = original.LastParameter;
等等。
有没有办法迭代代理参数来改进此操作?
提前谢谢你,
路易斯
我设法解决了我的问题,我发布了答案,因为其他人将来可能会遇到它。这是我已经尝试过但存在类型转换问题的简单方法。
代码结构如下:
add_myAgents();
for(String p : agent.getParameterNames())
{
myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true);
}
enter.take(myAgents.get(myAgents.size()-1));
我发现使用 myAgent prod = new MyAgent()
不起作用。必须将重复项插入人口中,因此我创建了一个名为 myAgents 的初始空人口,并在其中添加重复项。
我正在通过代码创建一个基于另一个代理的代理。原始代理在一个正在处理的延迟块中,我想创建只有 id 会更改的副本,并在 Enter 块中执行方法。
为了从原始代理复制信息,我似乎找不到比指定每个参数更好的方法,如下所示:
newAgent.color = original.color;
newAgent.component = original.component;
newAgent.geometry = original.geometry;
...
newAgent.LastParameter = original.LastParameter;
等等。
有没有办法迭代代理参数来改进此操作?
提前谢谢你, 路易斯
我设法解决了我的问题,我发布了答案,因为其他人将来可能会遇到它。这是我已经尝试过但存在类型转换问题的简单方法。
代码结构如下:
add_myAgents();
for(String p : agent.getParameterNames())
{
myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true);
}
enter.take(myAgents.get(myAgents.size()-1));
我发现使用 myAgent prod = new MyAgent()
不起作用。必须将重复项插入人口中,因此我创建了一个名为 myAgents 的初始空人口,并在其中添加重复项。