将Netlogo源文件包含在另一个中

时间:2011-04-29 08:56:06

标签: include netlogo

如何将一个Netlogo文件中的过程包含在另一个文件中?基本上,我想将遗传算法的代码与我的(相当复杂的)适应度函数分开,但是,显然,我希望健身记者(将驻留在“fitness.nlogo”中)可用于遗传算法代码,可能是“genetic.nlogo”。

如果可以,如何导入程序,执行代码?它是否像Python一样,导入模块几乎可以执行模块中的所有内容,或者像C / C ++那样,文件是盲目“加入”的?

这可能是一个愚蠢的问题,但我在谷歌上找不到任何东西。 Netlogo文档中提到了一些关于__includes的内容,这是一个可以解决问题的实验关键字,但那里没有太多解释。也没有例子。

任何提示?我应该使用__includes吗?它是如何工作的?

2 个答案:

答案 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"]  

此文件包含您可以在模型中调用的记者和程序。