2017-05-29 1 views
0

Ich habe Probleme beim Umwandeln einer alten 5.3.1 Aufgabe in eine anonyme Prozedur in 6.01. Jede Hilfe würde sehr geschätzt werden.Wie verwende ich das Netlogo anonymous -> in diesem Fall

Die Linie, die ich Probleme, bin mit ist die folgende:

>let most-efficient? task [first ? = lowest-first] 

Hier ist es im Rahmen des Voll Reporters:

> to-report best-route [route-list] ;; [a list of network sections]           
> let lowest-first min map first route-list 
> let most-efficient? task [first ? = lowest-first] 
> let best-route first butfirst one-of filter most-efficient? route-list 
> report best-route     
> end 

Der ursprüngliche Code von Seth T. zur Verfügung gestellt wurde

Grüße

Simon

Antwort

3

Zunächst existiert das task Grundelement nicht mehr. Zweitens, anstatt ? zu verwenden, geben Sie jetzt ein Argument für das Primitiv unter Verwendung der -> Syntax an.

In diesem Fall, dass wie folgt aussieht:

let most-efficient? [route -> first route = lowest-first] 

Hier sind wir ein Argument route in dem anonymen Verfahren. route wird auf die gleiche Weise verwendet ? wäre in der alten Task-Syntax gewesen.

Beachten Sie, dass für zwei oder mehr Argumente, können Sie sie von [] gruppieren sie umgeben benötigen zusammen:

let add [ [ x y ] -> x + y ] 

Edit: Passwort zum Programmierführungsabschnitt auf anonyme Verfahren zu verknüpfen! Es enthält die vollständigen Details:

https://ccl.northwestern.edu/netlogo/docs/programming.html#anonymous-procedures

Verwandte Themen