Ich habe ein Problem zu verstehen, die Rolle von to-report
und report
in NetLogo, auch scheint es ziemlich nützlich, und ich kann nicht wirklich eine Hilfe in "menschlichen Stil" Sprache geschrieben finden.NetLogo: Die Bedeutung von TO-REPORT für Dummies erklärt?
In NetLogo Dictionnary http://ccl.northwestern.edu/netlogo/docs/dictionary.html#report I Definitionen für to-report
finden:
to-report procedure-name
to-report procedure-name [input1 ...]
Used to begin a reporter procedure.
The body of the procedure should use report to report a value for the procedure. See report.
und für report
:
report value
Immediately exits from the current to-report procedure and reports value as the result of that procedure. report and to-report are always used in conjunction with each other. See to-report for a discussion of how to use them.
So scheint es, to-report
und report
einen Wert berechnen und darüber berichten.
Wenn ich also hinzufügen, versuchen
to-report average [a b c]
report (a + b + c)/2
end
zu meinem Code, und verwenden Sie dann die average
Variable irgendwo in meinem Code P.E .:
to go
...
print average
tick
end
ich einen Fehler haben: AVERAGE expected 3 inputs
. Wenn ich versuche, meine Variablen [a b c] in globals [a b c]
zu erstellen, habe ich einen Fehler There is already a global variable called A
. Wenn ich meine Variablen definieren [a b c]
innerhalb to-report
Prozedur:
to-report average [a b c]
set a 1
set b 2
set c 3
report (a + b + c)/2
end
Mein Fehler ist wieder AVERAGE expected 3 inputs
.
So, Wie kann ich einfach die Nützlichkeit von to-Bericht Verfahren testen? Und wo ich es richtig in meinen Code legen kann, um zu sehen, was es wirklich macht? von Urban Suite - Wirtschafts Disparität (http://ccl.northwestern.edu/netlogo/models/UrbanSuite-EconomicDisparity) Ich sehe, dass zu jedem Patch im Zusammenhang mit-Bericht verwendet wird, um Werte zu berechnen:
to-report patch-utility-for-poor
report ((1/(sddist/100 + 0.1))^(1 - poor-price-priority)) * ((1/price)^(1 + poor-price-priority))
end
aber dies berichtete Wert direkt definiert wird nicht als Patch-Variable, die meine Verwirrung zu erhöhen ..
.Vielen Dank!
danke @mattsap scheint es zu funktionieren! – maycca