首页 > 解决方案 > NetLogo 帮助使用函数“let”

问题描述

我们正在使用类似于 wolf-sheep 模型的函数“let”对两个代理之间的交互进行建模。当agent1与agent2在同一个空间时,agent2(猎物)需要从agent1(捕食者)获取与变量a相同值的变量a。

类似于:

ask agents [
  let prey one-of agents-here [
    ask prey set a "the variable a from agent"
    ]
  ] 

标签: netlogoagent-based-modeling

解决方案


我认为你想要的(未经测试)是这样的:

ask agents
[ let prey one-of agents-here
  ask prey
  [ set varname [varname] of myself
  ]
] 

看来您的问题实际上并不是关于let,这只是说“使变量值成为某些语句的结果”。由于未编码位是关于如何获得“代理变量 a”的值,所以我认为您的问题是关于myself.

该位[] of表示“获取属于某个代理的变量的值”,然后myself跳出一层括号以查找变量所属的代理。

作为旁注,将“代理”作为您的可能不是一个好主意,turtles breed因为很难谈论您的模型-“代理”一词将指您的一种代理类型以及普通类的代理。


推荐阅读