Выбор элементов из списка - PullRequest
3 голосов
/ 09 октября 2019

Я пытаюсь улучшить мое понимание списков в NetLogo. Вскоре я добавляю и выбираю (и удаляю) элементы из списков. У каждой черепахи свой список. Каждый список должен содержать элементы в хронологическом порядке, от самых последних до самых старых. Как только черепаха выбирает предмет, у соседей этот предмет находится в верхней части их списков (то же самое для черепахи, которая выбирает предмет). Я попытался сделать следующее:

rnd:weighted-one-of-list mylist [ [ii] -> ii ] ; pick one of the most recent items already in the list
set mylist lput old_item mylist print "Old item" ; add items to the list

, используя расширение, как предложил JenB в предыдущем посте. Условие для использования выбора элемента из списка (старый элемент) состоит в том, что mylist не является пустым (if empty? mylist).
Мой вопрос заключается в том, правильно ли выбирать элемент, используя расширение таким образом, как я.

ОБНОВЛЕНИЕ: список составляется следующим образом: я решаю создать новый элемент, item 4 с quality 2 (качество является параметром в [0,5]). Я добавляю этот элемент в свой список (item 4, item3, item2, item1) - от самого последнего до самого старого - с качеством item4 2, item3 1, item2 2, item1 5, соответственно, и в списки соседей: neighbour1, например, будет иметь список (item4, item 11, item 10,..) с quality 2, 3, 1соответственно. То, что я ожидаю, это выбрать элемент из списка на основе параметра качества. Это будет означать, что я выберу item1 из моего списка. Мои соседи выбрали бы item11, поскольку его качество равно 3, то есть самое высокое в его группе.

Спасибо за помощь.

...