2016-04-08 2 views
1

Ich habe die cruise.nlogo-Datei von der NetLogo-Modellgemeinschaft heruntergeladen. Aber wenn ich diese Datei starte, habe ich Fehler in dieser Zeile.Fehler in der foreach-Anweisung in NetLogo

foreach values-from patches [self] patchcolors [set pcolor-of ?1 ?2] 

Zuerst fragte es "Werte-von" nicht definiert: Ich erklärte es als Patches-eigene Variable.

Zweitens fragte "pcolor-of" nicht definiert: Ich erklärte es erneut als eine andere patches-eigene Variable.

Drittens fragte es bei "? 2": erwarteter Befehl.

So kann ich nicht verstehen, warum dieser Fehler da ist. Bitte helfen Sie mir, ich benutze Netlogo5.2 Version. Brauche ich die Hintergrundbilddatei dafür?

Antwort

2

Dies ist sehr alter Stil-Code. Siehe das NetLogo-Übergangshandbuch. Jetzt schreiben wir

(foreach sort patches patchcolors [ask ?1 [set pcolor ?2]]) 

Mit sort patches Randomisierung eliminiert. Wenn Sie es wollen, können Sie stattdessen [self] of patches verwenden.

+0

Warum die Zwischenvariable '_color'? Sie können einfach '' foreach sort patches patchcolors [fragen? 1 [set pcolor? 2]]) '. –

+1

@NicolasPayette Für Klarheit? Scheinbar nicht. Bearbeitet. – Alan

+0

Danke. aber ich denke, der ganze Code ist im alten Stil, nachdem ich diese Anweisung geändert habe, bekomme ich wieder Fehler in anderen Codezeilen. –