NetLogo:输出文件中的换行符??没那么简单。

时间:2010-08-11 03:32:25

标签: file line-breaks netlogo

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

globals [file]

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 个答案:

答案 0 :(得分:3)

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

  

您是否在Windows上并使用记事本查看文件?几乎每一个   其他Windows程序现在了解Unix风格的换行符,   但记事本没有。

答案 1 :(得分:1)

您忘记使用file-close关闭文件或强制它使用file-flush将数据写入磁盘。

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分: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