以下是导致问题的一小部分代码。
to update-trustt
let rank-tvmratio sort-on [tvmratio] turtles
foreach rank-tvmratio tvmratio -> ask rank-tvmratio [set trustt (trustt + tvmratio)]
end
在此代码中,"rank-tvmratio"
应该带有以下列表:
[(龟56)(龟23)......(龟9)]
我想要做的是让每只海龟都更新"trustt"
变量
分别写在第3行。
按照布莱恩的建议,我插入了"->"
并指定了#34;谁"正在做什么"。
但是,还有一条新的错误消息"Nothing name -> has been defined"
我该如何解决这个问题?我需要你明智的建议。
(实际变量tvmratio
来自程序R,使用RNetLogo包。这与此有关吗?)
谢谢
答案 0 :(得分:1)
我认为这可能是你想要的:
to update-trustt
let rank-tvmratio sort-on [tvmratio] turtles
foreach rank-tvmratio [ t ->
ask t [
set trustt (trustt + rank-tvmratio)
]
]
end
您的代码存在一些问题。首先,给foreach
的命令需要包含一个参数。您可以使用->
语法执行此操作。 t
之前的->
(对于乌龟)是列表中的每个项目都将作为传递的变量。其次,您需要明确询问t
,因为foreach
与ask
不同,没有代理运行命令,它只运行命令,其中传递的项目为一段时间作为命令的论据。