2 votes

NetLogo : rupture de ligne dans le fichier de sortie ? ? Pas si simple.

J'ai essayé toutes les options pour créer une nouvelle ligne dans mon fichier de sortie, mais j'obtiens toujours un fichier txt avec tout ce qui se trouve derrière les informations précédentes. Même avec ce code supersimple :

globaux [fichier]

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

Je n'obtiens pas de lignes vides ou de sauts de ligne. Je travaille avec NetLogo 4.1. Quelqu'un sait-il ce qui pourrait être le problème ?

4voto

Seth Tisue Points 9090

A répondu à http://netlogo-users.18673.x6.nabble.com/Adding-a-new-line-when-outputting-data-tp4870905p4870909.html où j'ai écrit :

Êtes-vous sous Windows et utilisez-vous Notepad pour visualiser vos fichiers ? Presque tous les tous les autres programmes Windows comprennent les sauts de ligne à la manière d'Unix, mais pas le Bloc-notes.

2voto

Jose M Vidal Points 3456

Vous avez oublié de fermer le fichier avec file-close ou pour le forcer à écrire des données sur le disque avec un file-flush .

Lorsque vous effectuez une file-write les données ne sont pas immédiatement écrites sur le disque. Elles sont placées dans un tampon. Lorsque la mémoire tampon est suffisamment grande, les données sont écrites sur le disque. Vous pouvez forcer netlogo à écrire les données dans un fichier en utilisant la commande file-flush o file-close commandes.

2voto

Fred Highland Points 21

La référence suggère d'utiliser un meilleur éditeur. Mais il existe un moyen de faire fonctionner le Bloc-notes.

Si vous ajoutez la chaîne " \r\n "à vos données (avec le type de fichier ou autre), cela fonctionne avec le Bloc-notes.

Le bloc-notes utilise l'ancien retour chariot (" \r ") / nouvelle ligne (" \n ") format. Les systèmes Unix utilisent simplement une nouvelle ligne.

0voto

tong Points 155

Essayez ceci, cela fonctionne pour moi

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

si vous voulez plus de pauses, utilisez ceci

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X