Я хотел бы преобразовать строку в имя переменной, чтобы ее можно было прочитать как уже восстановленную переменную.
Итак, я просматриваю файл и просматриваю все файлы. Я использую RESTORE, чтобы использовать файл в IDL, восстановить имена этого объекта как нечто немного другое. Он называет его как объект, который мы назовем map_1 (в коде он называется filerestore_name). Это связано с именем файла, и я могу воссоздать это имя переменной, однако оно сохраняется в виде строки.
Теперь я передаю это в процедуру make_cool_video. Однако, хотя эта строка теперь точно такая же, как имя переменной, это все еще строка!. Таким образом, поскольку это строка, процедура не может работать.
filenames=FILE_SEARCH('rxrt*')
filenames_withoutextension = STREGEX(filenames,'rxrt_[0-9]+[a-zA-Z_]+',/EXTRACT,/FOLD_CASE)
restore, '/home/tomi/Documents/actualwork/'+filenames_withoutextension(18)+'.idl_sav',
filerestore_name = STRJOIN(STRSPLIT(filenameswithout(18),'_[0-9]+',/EXTRACT,/REGEX),'')
PRINT, filerestorename
make_cool_video, EXECUTE(filerestore_name),filename=filerestorenames, outdir='/path/to.file/'
retall
Что я пробовал: используя функцию RESTORE и связанные с ней RESTORED_OBJECTS для хранения указателей в массиве, а затем обращаясь к массиву. Но я не мог заставить функцию восстановления сформировать массив.
Однако при использовании EXECUTE(filerestore_name) это не преобразует его, как я ожидал.