Как я могу указать элементы матрицы из интерфейса, используя ввод в NetLogo? - PullRequest
0 голосов
/ 21 февраля 2019

Я использую расширение матрицы в своей модели, и я хотел бы иметь возможность изменять элементы этой матрицы через графический интерфейс, а не жестко их кодировать.На данный момент это выглядит так:

extensions [matrix]
globals [test_matrix]

to setup
   set test_matrix matrix:from-row-list [[
     1
     2
     3
     4
    ]]
end

Но если я пытаюсь установить значения с помощью функции Input в графическом интерфейсе, я получаю сообщение об ошибке, что «ожидалось буквальное значение».

 set test_matrix matrix:from-row-list [[
         element1
         element2
         element3
         element4
        ]]

1 Ответ

0 голосов
/ 25 февраля 2019

Когда вы делаете [ 1 2 3 4 ] в первом разделе, вы создаете литерал списка, а NetLogo допускает только постоянные значения в литералах списка (числа, строки, другие литералы списка).См. раздел Списки руководства по программированию для получения дополнительной информации .

Чтобы создать список с не буквальными значениями (переменными или выражениями), используйте примитив list :

set test_matrix matrix:from-row-list (list (list 
  element1 
  element2 
  element3 
  element4
))

См. Также в разделе часто задаваемых вопросов .

...