2

我尝试了所有选项来在我的输出文件中创建一个新行,但我仍然得到一个 txt 文件,其中包含先前信息背后的所有内容。即使有这个超级简单的代码:

全局 [文件]

to setup   clear-all
    set file "results\\GA1.txt"   if is-string? file
     [while [file-exists? file]
        [set file replace-item (length file - 5) file "11" ]
      file-open file] end

to go   tick   write-to-file end

to write-to-file   file-print (word ticks) FILE-TYPE "\n"   file-write 1 file-print (word " " 2 ";")   file-write 1 file-print (word " " 2 ";")     file-print ""  ;; blank line end

我没有得到空行或换行符。我在 NetLogo 4.1 工作。有谁知道可能是什么问题?

4

4 回答 4

4

在http://netlogo-users.18673.x6.nabble.com/Adding-a-new-line-when-outputting-data-tp4870905p4870909.html回答我写道:

您是否使用 Windows 并使用记事本查看文件?如今,几乎所有其他 Windows 程序都可以理解 Unix 样式的换行符,但记事本不知道。

于 2010-08-16T13:12:50.883 回答
2

该参考建议使用更好的编辑器。但是有一种方法可以让记事本工作。

如果您将字符串“\r\n”添加到您的数据(使用文件类型或其他),它可以与记事本一起使用。

记事本使用较旧的回车 ("\r")/换行 ("\n") 格式。Unix 系统只使用新行。

于 2014-01-03T20:13:05.857 回答
2

您忘记file-close使用file-flush.

当您执行时file-write,数据不会立即写入磁盘。它被放置在缓冲区中。当缓冲区足够大时,数据将写入磁盘。file-flush您可以使用orfile-close命令强制 netlogo 将数据写入文件。

于 2010-08-11T10:55:00.793 回答
0

试试这个,这对我有用

file-open "locations.txt"
   ask turtles
   [file-print xcor]
file-close

如果你想要更多的休息,然后使用这个

file-open "locations.txt"
   ask turtles
   [file-print xcor file-print "\n"]
file-close
于 2014-07-15T15:53:02.337 回答