Предположим, у вас есть переключатели a
, b
и c
на вкладке интерфейса.Чтобы узнать количество включенных в данный момент переключателей, вы можете просто сделать:
sum (map [ v -> ifelse-value v [ 1 ] [ 0 ] ] (list a b c))
Часть (list a b c)
использует состояние ваших переключателей для построения списка логических значений, которые мы затем map
список единиц и нулей, которые мы можем суммировать.За исключением не-объектно-ориентированной и того факта, что вам нужно явно преобразовывать логические значения в 1 или 0, это не , что далеко от вашего кода Python.
Тем не менее, я неПолагать, что «думать о переключателях как об объекте, который имеет встроенные элементарные функции», является правильной концептуальной основой.Это правда, что виджеты интерфейса внутренне представлены как объекты, но с точки зрения программиста NetLogo их следует рассматривать как набор глобальных переменных, которые могут быть изменены пользователем.