NetLogo, как мне сохранить в файл и загрузить из данных файла, введенных в меню extraWidget?

#netlogo

#netlogo

Вопрос:

Как сказано в названии, я пытаюсь понять, как сохранить в файл и загрузить данные из файла, введенные в меню extraWidget? Я был бы признателен за любую помощь.

Комментарии:

1. что такое меню extraWidget?

2. Экстравиджет, github.com/CRESS-Surrey/eXtraWidgets , является расширением Netlogo, которое создает дополнительную вкладку интерфейса в Netlogo. По сути, это создает динамический графический интерфейс для Netlogo, в котором пользователи могут вводить данные, которые может выполнить модель.. Я полагаю, что он был создан Николасом Пайеттом

Ответ №1:

Я предполагаю, что под «данными, введенными в меню eXtraWidget», вы подразумеваете значения, введенные в виджетах, отображаемых на вкладке eXtraWidget.

Если это так, это довольно легко сделать с помощью xw:export xw:import примитивов and .

Предположим, у вас очень простой xw интерфейс, например:

 extensions [ xw ]

to startup
  xw:clear-all
  xw:create-tab "t" [ xw:set-title "Menu" ]
  xw:create-multi-chooser "mc" [
    xw:set-items ["a" "b" "c" "d"]
  ]
end
 

Это дало бы вам дополнительную вкладку, подобную этой, с «множественным выбором», в которой вы можете выбрать несколько букв («a» и «c» в этом примере):

введите описание изображения здесь

Чтобы экспортировать весь интерфейс и его содержимое в файл JSON, вы можете просто вызвать:

 xw:export "menu.json"
 

а затем восстановить виджеты и их значения в любое время с помощью:

 xw:clear-all
xw:import "menu.json"
 

Вам нужно позвонить xw:clear-all , потому xw:import что в противном случае вас предупредят, что эти виджеты уже существуют.

Комментарии:

1. Спасибо, Николас, можете ли вы сохранить только содержимое виджетов, не сохраняя все меню целиком?

2. Конечно, но вам придется делать это «вручную», используя xw:get для извлечения значений и csv расширения для сохранения, а затем загружать их обратно с помощью xw:set .