我有一个简单的问题。
说我想要两个品种,定义为 品种[人类] 品种[蚊子蚊子] 并希望这些品种具有同名的海龟特定变量 。所以
humans-own
[
infected
]
mosquitoes-own
[
infected
]
我想稍后调用该程序(假装已经进行了设置,感染被设置为初始布尔值false),如
to infect
set infected true
end
。据我所知,它会将蚊子和人类特定的“受感染”变量设置为真,但如果我想这样做会怎么样:
to specific-infect
if turtles = humans
[
set infected true
]
if turtles = mosquitoes
[
set infected true
]
end
。它会检查乌龟是否是人类,如果是,那么将人类特定的“感染”设置为真,或两者兼而有之?基本上,我要问的是,您是否可以使用同名的特定于龟的变量并使其适用于代码?
谢谢! :)
答案 0 :(得分:1)
品种当然可以拥有"拥有"具有相同名称的变量,但与一般的乌龟一样,基本上只有一个品种可以改变其中一个变量的值,你需要问它。所以,如果你想为所有人设置感染对真,对所有蚊子设置为假,你可以这样做:
ask humans [set infected true]
ask mosquitoes [set infected false]
或者,对于某些人而言
ask humans with [some characteristic] [set infected true]
同样,您可以让品种中的代理报告其变量的值。
show [infected] of human with [some characteristic]
查看NetLogo原语ask
,of
和with
以获取一些示例。
希望这有帮助。
答案 1 :(得分:0)
Geerten