如何知道netlogo中的对象类型?
问题描述:
我正在NetLogo中做一个应用程序,想知道是否有东西需要知道变量的数据类型,类似于JAVA中的instanceof。如何知道netlogo中的对象类型?
to main
move blockA
end
to move [block]
;;;how to know if block is xty BlockA or BlockB???
end
问候
答
为了澄清,BlockA
和BlockB
是龟品种,是吗?有两种方法:
我会假设你的品种被声明为:
breed [ BlockAs BlockA ]
breed [ BlockBs BlockB ]
[ breed ] of block
会报告的品种,所以你可以做,例如,if [ breed ] of block = BlockAs [ ... ]
或ask block [ if breed = BlockAs [ ... ] ]
。is-*?
原语。在乌龟品种的情况下,你可以做is-BlockA? block
。这也适用于其他数据类型。例如is-number?
会告诉你是否有数字。