递归地将类型分配给代理

问题描述 投票:0回答:1

我正在编写一个模型,在该模型中我需要将代理群体分为四种类型。我想在界面中插入一个字符串输入,以便我可以编写一个 4 数字向量,详细说明每种类型的代理数量,然后从那里对类型从 1 到 4 进行编号。

我已经尝试过:

to setup-players
  let type-distribution read-from-string n-of-players-for-each-type
  
  let i 1
  foreach type-distribution [ j -> 
    create-players j [
      set type i                          
      set payoff 0 
      set strategy (random 11)
      set strategy-after-revision strategy
    ] 
    set i (i + 1)
  ]
  
  set n-of-players count players
end

NetLogo 给出一条错误消息,指出

set
命令需要两个输入。我的代码有什么问题吗?

netlogo
1个回答
0
投票

我怀疑问题在于使用

type
作为变量。
type
是一个 NetLogo 原语(用于输出),因此不能用作变量名。我很惊讶当你第一次在(我猜)一个
players-own
语句中使用它时,你没有得到这样的错误。

© www.soinside.com 2019 - 2024. All rights reserved.