NetLogo将链接作为过程参数传递

NetLogo将链接作为过程参数传递,netlogo,Netlogo,我正在编写一个实用程序,用于识别某个集合中所有节点的所有新链接邻居。我想能够使用任何链接品种相同的程序。该函数看起来像这样(未测试) 这将使语法检查器失败,因为EDGETYPE Neights不是繁殖邻居的有效版本。有没有办法将链接传递给被调用的过程 我想我可以在使用网络扩展时先使用nw:set context NODESET EDGETYPE,然后再使用nw:turtles in radius 1,但我希望使用更好的方法,可能需要对没有nw版本的链接过程执行相同的常规操作。获取具有指定品种的所

我正在编写一个实用程序,用于识别某个集合中所有节点的所有新
链接邻居。我想能够使用任何链接品种相同的程序。该函数看起来像这样(未测试)

这将使语法检查器失败,因为EDGETYPE Neights不是
繁殖邻居的有效版本。有没有办法将链接传递给被调用的过程


我想我可以在使用网络扩展时先使用
nw:set context NODESET EDGETYPE
,然后再使用
nw:turtles in radius 1
,但我希望使用更好的方法,可能需要对没有nw版本的链接过程执行相同的常规操作。

获取具有指定品种的所有链接并使用
[另一端]
要获得海龟:

to-report all-neighbours [ NODESET EDGETYPE ]
  let nbr nobody 
  ask NODESET [set nbr (turtle-set nbr [other-end] of (my-links with [breed = EDGETYPE]))]
  report nbr with [ not member? self NODESET ]
end
用法(如果您的品种是关系/关系):


我总是忘记,
品种
是一个变量!非常优雅,谢谢
to-report all-neighbours [ NODESET EDGETYPE ]
  let nbr nobody 
  ask NODESET [set nbr (turtle-set nbr [other-end] of (my-links with [breed = EDGETYPE]))]
  report nbr with [ not member? self NODESET ]
end
ask all-neighbours (turtle-set turtle 0) relations [show self]