Netlogo过渡,向后兼容

时间:2017-02-24 15:40:15

标签: transition netlogo backwards-compatibility

'想升级(如果是这个词)100-150本土Netlogo 4.1.3程序到Netlogo 6,最好是通过Perl或其他脚本语言批量生成,然后是(必要的)手册检查和完成。

令我沮丧的是,Netlogo 6无法打开Netlogo 4文件,因此我通过在Netlogo 5中打开它们升级了一些文件,在Netlogo 6中保存并重新打开并保存。不是特别优雅的方式。

有什么建议吗?。

2 个答案:

答案 0 :(得分:3)

看起来Netlogo 6不会读取4.1.3文件的原因是它需要12个部分,而4.1.3文件有10个或11个。据我所知,部分被分解了字符串“@#$#@#$#@”。此外,较旧的.nlogo文件具有版本6不理解的“CC-WINDOW”的参数。最后,Netlogo 6中的按钮也需要使用值1或0进行参数化,以确定在滴答开始之前是否禁用该按钮。

以下python 3代码将所有 Netlogo文件放在同一文件夹中,并删除“CC-WINDOW”行。它还在每个“Button”块的末尾添加1。当代码读取文件时,它会计算“@#$#@#$#@”中断的数量。如果在文件的末尾,少于11,它会附加足够的“@#$#@#$#@”中断以使总数达到11。

如果要运行此代码,我会将要更新的旧文件复制到新文件夹中。将带有以下代码的.py文件放入同一文件夹中,当您运行它时,它将为6.0兼容版本创建新文件(请注意,它不会更新4.1。 3个文件,但该文件夹中的所有 netlogo文件)。这不适用于每个文件 - 例如,一个文件未正确更新,因为原始模型的“GRAPHICS-WINDOW”未正确参数化。也就是说,此代码适用于我测试的大多数4.1.3模型库模型。另外,我只知道它允许你在Netlogo 6中打开文件,我不知道在那之后必须做什么,以确保模型实际上按照你的预期运行。

希望这有帮助!如果我在某些方面不清楚,请告诉我。

0644

答案 1 :(得分:0)

这是simple conversion script。随意提出改进建议。