поиск члена во вложенных списках нетлого - PullRequest
1 голос
/ 03 мая 2020

Я пытаюсь решить проблему в netlo go, которая застряла на некоторое время. у меня есть два списка (с черепахами, с которыми я сотрудничал, и с «удачными» / «неудачными» суждениями). два списка отображаются следующим образом [[(черепаха 10) «успешный»] [(черепаха 11) «неудачный»] со следующим:

let general-history (map list collaborators my-success)

где соавторы - это числа «кто» и my-success является строкой («успешной» или «неудачной»)

Теперь я хотел бы проверить, есть ли у черепахи, в своем общем списке истории, хотя бы один успешный и один неудачный соавтор, чтобы иметь возможность продолжать. вот где я получил:

ifelse not empty? general-history and member? "successful " last general-history and member? "unsuccessful" last general-history

я знаю, что это неправильно, потому что last здесь подразумевает, что я буду смотреть только на последний список общей истории (т.е. , [] [] [этот]). я хочу, чтобы он оценил, есть ли по крайней мере два списка (один с «успешным» в качестве индекса 1 и один с «неудачным» в качестве индекса 1) во всем вложенном списке общей истории.

будет лучше работать здесь или все еще можно использовать member? но с какой-то индексацией элемента + списка? большое спасибо за помощь!

1 Ответ

2 голосов
/ 04 мая 2020

Если я правильно понял ваш вопрос, вы можете использовать map, чтобы создать список всех элементов last (успешно или нет), а затем применить member? к этому списку. Вот полный пример модели, который строит некоторые тестовые данные и применяет этот подход.

to testme
  clear-all
  ; create some test data
  create-turtles 10
  let collaborators sort n-of 3 turtles
  let list-both (map list collaborators (list "yes" "no" "no"))
  print list-both
  ; check condition
  print member? "yes" map last list-both
end
...