Netlogo:从代理中提取信息
Netlogo: extracting informtion from an agent
在这个例子中,狗是品种的名称。我想根据 AAA 的属性执行不同的任务。比如它有一个size属性,size > 10 [ do task 1 ] when size <= 10 [ do task 2 ],等等。如何提取AAA的属性?
let AAA one-of dogs-here
if AAA != nobody [
]
你可以这样做:
ask one-of dogs-here
[ if AAA > 10
[ forward 1
]
]
但重要的是要理解为什么这有效,这就是 NetLogo 所说的“上下文”。当您说 ask one-of dogs-here [
并打开方括号时,您正在将上下文更改为所选狗。从某种意义上说,计算机现在从狗的角度来看,那只狗现在是“我”(或者在 NetLogo 中实际上是 self
),下面的命令适用于特定的狗。
如果您想提取有关其他代理的信息,则使用 of
,例如:if [AAA] of turtle 0 > 10
....
在这个例子中,狗是品种的名称。我想根据 AAA 的属性执行不同的任务。比如它有一个size属性,size > 10 [ do task 1 ] when size <= 10 [ do task 2 ],等等。如何提取AAA的属性?
let AAA one-of dogs-here
if AAA != nobody [
]
你可以这样做:
ask one-of dogs-here
[ if AAA > 10
[ forward 1
]
]
但重要的是要理解为什么这有效,这就是 NetLogo 所说的“上下文”。当您说 ask one-of dogs-here [
并打开方括号时,您正在将上下文更改为所选狗。从某种意义上说,计算机现在从狗的角度来看,那只狗现在是“我”(或者在 NetLogo 中实际上是 self
),下面的命令适用于特定的狗。
如果您想提取有关其他代理的信息,则使用 of
,例如:if [AAA] of turtle 0 > 10
....