Процедуры NetLogo
Материал из Letopisi.Ru — «Время вернуться домой»
В НетЛого есть команды, которые указывают агентам, что делать - переместиться, создать черепашку, установит связь и т.д. Обычно эти команды начинаются с глагола - die, jump, inspect
Процедуры можно создавать - в этом случае процедура начинается со слова To Имя_Процедуры и заканчивается словом End
Report
Кроме того, есть процедуры, которые получают на входе данные, обрабатывают эти данные и выдают результат. Эти процедуры обязательно начинаются со слова to-report и содержат команду вывода значения - report. Например:
to-report absolute-value [number] ifelse number >= 0 [ report number ] [ report (- number) ] end
Процедура получает число и возвращает его абсолютное значение.
Анонимные процедуры
С версии 6.0 в NetLogo появились анонимные процедуры
to logs_to_sociogram ask patches [set pcolor 0] foreach edits [ [?1] -> ;; это вызов анонимной процедуры let friend1 item 0 ?1 let p1 item 1 ?1 let friend2 first first filter [ [??1] -> (p1 = item 1 ??1) and ("create" = item 2 ??1) ] wikilog if friend1 != friend2 [ ask turtle friend1 [ create-friendbond-to turtle friend2 ] ]
]
repeat 2 [layout-spring turtles links 1 10 12 ]
end