В настоящее время я храню содержимое массива в переменной, затем устанавливаю эту переменную вверх, используя два% и сохраняя значение. Мой текущий код выглядит следующим образом:Как использовать содержимое массива как имя переменной?
Test := {asdf: "blah"}
Temp := Test["asdf"]
%Temp% := "boo"
; above line is be the same as blah := "boo", but blah came from a variable
msgbox %blah% ; outputs "boo"
Я не люблю использовать переменную Temp
как это.
следующие компилирует но blah
остается пустым:
(Test["asdf"]) := "boo"
%Test%["asdf"] := "boo"
Следующая дает мне ошибку компиляции:
%(Test["asdf"])% := "boo"
У меня есть смутное представление о том, что это должно быть возможно, но я просто не могу найти синтаксис для него. Как я могу напрямую использовать массив вместо того, чтобы помещать его в временную переменную?
Whyyyyyyyyyyyyyyy? – TessellatingHeckler
Причина в том, что программа динамически управляется, и у меня есть управляемые системы для установки переменных. Это не одноразовое дело, с которым я сталкиваюсь. У меня есть список данных GIANT, как этот, и этот список может измениться. Вместо того, чтобы искать в программе обновление списка переменных, я создаю их динамически, а другие файлы управляют выходом. – Nelson
Существуют также некоторые очень интересные способы использования данных в качестве переменной. Если у вас есть список элементов, и вы ищете дубликаты при заполнении массива, вы можете выполнить вызов массива [key], чтобы определить, было ли оно ранее назначено, а не зацикливать ваши существующие данные. Вы только что изменили поиск O (n) на поиск O (1). – Nelson