Сообщение об ошибке - "ожидается закрывающая скобка" при инициализации списка

Я определил собственный список черепах под названием color-affinity. Каждая из 14 записей в этом списке состоит из именованного цвета сетевого логотипа и соответствующего случайного числа до 5, но не включая его.

Я пытаюсь инициализировать этот список в процедуре настройки, вызвав функцию: setup-turtle-color-affinity.

Я работаю над Netlogo 6.1 (последняя версия). Код ниже.

turtles-own [
  color-affinity
]

...
..
.

to setup
  clear-all
  create-turtles population
  setup-turtle-color-affinity
  setup-patches
  reset-ticks
end

...
..
.

to setup-turtle-color-affinity
  ask turtles
  [ setup-color-affinity ]
end

to setup-color-affinity
  [
   ; Here, I want to set up the list so that each turtle gets a random named netlogo color and a corresponding random "affinity" score of up to 5. However, whenever I try this (and I've tried various combinations of syntax) it gives me an error saying "closing bracket expected".
  ]
end
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 597
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы получить полезный ответ, может потребоваться немного больше деталей, например, как настроен ваш список цветов? В Netlogo названия цветов читаются просто как цифры: grey – 5, red – 15 и т. д. Какой формат вам нужен для color-affinity?

Если вам нужен список пар списков для каждой черепахи, где каждая пара представляет собой значение цвета и значение сходства, возможно, вам подойдет что-то вроде этого:

turtles-own [
  color-affinity
]

to setup
  ca

  let color-values ( range 5 145 10 )

  crt 5 [
    set color-affinity map [ c -> list c ( random 4 + 1 ) ] color-values
    show color-affinity
  ]
  reset-ticks
end

Выход:

(turtle 1): [[5 4] [15 3] [25 2] [35 4] [45 2] [55 1] [65 2] [75 1] [85 2] [95 3] [105 3] [115 1] [125 3]]
(turtle 3): [[5 2] [15 2] [25 2] [35 1] [45 2] [55 4] [65 4] [75 4] [85 3] [95 2] [105 1] [115 2] [125 2]]
(turtle 2): [[5 2] [15 4] [25 1] [35 1] [45 1] [55 4] [65 3] [75 2] [85 4] [95 1] [105 4] [115 4] [125 2]]
(turtle 0): [[5 1] [15 1] [25 3] [35 4] [45 4] [55 1] [65 4] [75 2] [85 1] [95 4] [105 1] [115 1] [125 1]]
(turtle 4): [[5 3] [15 3] [25 4] [35 4] [45 2] [55 2] [65 4] [75 1] [85 2] [95 3] [105 1] [115 4] [125 3]]

Редактировать:

Я не знаю способа автоматического извлечения названий цветов (не говоря уже о том, что его нет!) — возможно, вам придется сделать что-то вроде этого table подхода расширения:

extensions [ table ]

globals [ color-table ]

to setup-color-table
  set color-table table:make
  let color-names [ 
    "gray" "red" "orange" "brown" "yellow" 
    "green" "lime" "turquoise" "cyan" "sky"
    "blue" "violet" "magenta" "pink" 
  ]
  let color-values ( range 5 145 10 )
  ( foreach color-values color-names [
    [ cv cn ] ->
    table:put color-table cv cn 
    ]
  )

  show table:get color-table 15
  show table:get color-table 65
  show table:get color-table 115
end

Выход:

observer: "red"
observer: "lime"
observer: "violet"

Спасибо! Я хорошо разбираюсь в цветах как в числах, пока я могу извлечь названия цветов, если они мне нужны.

Joebevo 22.05.2019 07:17

@Joeebevo - Еще бы! Чтобы сделать это, я думаю, вам, возможно, придется вручную закодировать его - см. Один из подходов в моих правках.

Luke C 22.05.2019 08:19

Другие вопросы по теме