Процедуры NetLogo

Материал из Letopisi.Ru — «Время вернуться домой»
Версия от 19:13, 10 августа 2017; Евгений Патаракин (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

В НетЛого есть команды, которые указывают агентам, что делать - переместиться, создать черепашку, установит связь и т.д. Обычно эти команды начинаются с глагола - 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

Персональные инструменты
Инструменты