plr*_*plr 1 scala agent-based-modeling
我正在创建一个(简单的)基于代理的模型来学习 Scala 和函数式编程。
我已经在 Python 中创建了它,所以我的想法是按照已经存在的想法对其进行编码,但是我在开始时遇到了一个问题:
我有一个类描述模型中的一个代理,另一个类描述它所生活的社会。社会由 N 个代理组成,其中 N 是一个整数。在 Python 中,我会做一个列表理解来存储类的所有实例,但我如何在 Scala 中做到这一点?有没有比使用以下代码更好的方法:
import agent.Agent
class Society([omitted-for-brevity]){
val tmp_agents = List()
for(i <- 1 to puntos){
val tmp_agent = new Agent(pos_X = 0, name="Agent "+i)
tmp_agents :+ tmp_agent
}
Run Code Online (Sandbox Code Playgroud)
val tmp_agentfor 循环中的值不应该是 var 吗?或者,如果 Agent 类有var参数作为输入,它是否有效?tmp_agents如果只有其中的对象要更改“内部”值,该列表是否应该是 val?附加到 val 可以吗?正如我常说的,Scaladoc是你的朋友。
val agents = List.tabulate(n) { i =>
new Agent(pos_X = 0, name=s"Agent $i")
}
Run Code Online (Sandbox Code Playgroud)
(另外,我建议为您的代理使用case 类。并遵循 Scala 命名约定)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |