如何将一个Netlogo文件中的过程包含在另一个文件中?基本上,我想将遗传算法的代码与我的(相当复杂的)适应度函数分开,但是,显然,我希望健身记者(将驻留在“fitness.nlogo”中)可用于遗传算法代码,可能是“genetic.nlogo”。
如果可以,如何导入程序,执行代码?它是否像Python一样,导入模块几乎可以执行模块中的所有内容,或者像C / C ++那样,文件是盲目“加入”的?
这可能是一个愚蠢的问题,但我在谷歌上找不到任何东西。 Netlogo文档中提到了一些关于__includes
的内容,这是一个可以解决问题的实验关键字,但那里没有太多解释。也没有例子。
任何提示?我应该使用__includes
吗?它是如何工作的?
答案 0 :(得分:14)
要包含您使用的文件
__includes["libfile.nls"]
添加此项并按“检查”按钮后,“程序”下拉菜单旁会出现一个新按钮。在那里,您可以创建和管理多个源文件。
libfile.nls 只是一个包含NetLogo代码的文本文件。它是不一个netlogo模型,它总是以.nlogo结尾,因为NetLogo模型除了NetLogo代码之外还包含很多其他信息。
包含文件相当于在该点插入所有内容。为了使其以可重用的库文件的方式工作,应该创建使用代理集和参数作为输入变量的过程,使其独立于全局定义或接口设置。
该功能记录在NetLogo用户手册中http://ccl.northwestern.edu/netlogo/docs/programming.html#includes。
答案 1 :(得分:0)
您可以创建文件 libfile.nls ,并在同一文件夹中创建主模型 model.nlogo 。
之后,转到 model.nlogo 并写下:
__includes["libfile.nls"]
此文件包含您可以在模型中调用的记者和程序。