Include 将Netlogo源文件包含到另一个
如何将过程从一个Netlogo文件包含到另一个Netlogo文件中?基本上,我想把遗传算法的代码从我的(相当复杂的)适应度函数中分离出来,但是,很明显,我想在遗传算法代码中使用适应度报告器,它将位于“fitness.nlogo”中,可能是“genetic.nlogo” 如果可以,程序是如何导入的,代码是如何执行的?它是像Python那样导入模块几乎执行模块中的所有内容,还是像C/C++那样盲目地“连接”文件 这可能是个愚蠢的问题,但我在谷歌上找不到任何东西。Netlogo文档中提到了一些关于Include 将Netlogo源文件包含到另一个,include,netlogo,Include,Netlogo,如何将过程从一个Netlogo文件包含到另一个Netlogo文件中?基本上,我想把遗传算法的代码从我的(相当复杂的)适应度函数中分离出来,但是,很明显,我想在遗传算法代码中使用适应度报告器,它将位于“fitness.nlogo”中,可能是“genetic.nlogo” 如果可以,程序是如何导入的,代码是如何执行的?它是像Python那样导入模块几乎执行模块中的所有内容,还是像C/C++那样盲目地“连接”文件 这可能是个愚蠢的问题,但我在谷歌上找不到任何东西。Netlogo文档中提到了一些关于\u
\uu includes
,这是一个实验性的关键字,可能会起到作用,但没有太多解释。也没有例子
有什么提示吗?我应该使用
\u includes
?它是如何工作的?包含您使用的文件
__includes["libfile.nls"]
添加此项并按下“检查”按钮后,程序下拉菜单旁边将出现一个新按钮。您可以在那里创建和管理多个源文件
libfile.nls只是一个包含NetLogo代码的文本文件。它不是一个netlogo模型,它总是以.nlogo结尾,因为netlogo模型除了netlogo代码之外还包含很多其他信息
包含一个文件相当于在该点插入其所有内容。为了使其以类似于可重用库文件的方式工作,应该创建使用代理集和参数作为输入变量的过程,以独立于全局定义或接口设置
NetLogo用户手册中记录了该功能。您可以创建一个文件libfile.nls,并在同一文件夹中创建主模型model.nlogo
然后,转到你的model.nlo,写下:
__includes["libfile.nls"]
此文件包含您可以在模型中调用的报告器和过程 通过实验找到了我的答案。要包含的文件必须命名为“something.nls”,并且它像这样包含在主文件中:
\uu includes[“something.nls”]
。我不知道它探索了什么路径来找到它,但如果包含的文件与主文件位于同一文件夹中,它就会工作。命名空间似乎是连接的,就像C++一样。此外,turtles拥有的[new property]
如果在包含的文件中找到,则表示荣幸。您对我在试验u includes时发现的内容给出了更简短、更清晰的解释。我希望人们在我发表上述评论之前阅读您的答案。在code
选项卡中,我单击包含
下拉列表,然后单击一个新源文件
。现在,将打开一个新选项卡,其中包含新文件
。如何命名此文件?