Бих искал да конвертирам низ в име на променлива, така че да може да се чете като вече възстановена променлива.
И така, преглеждам файл и разглеждам всички файлове. Използвам RESTORE, за да използвам файла в IDL, възстановяването наименува този обект като нещо малко по-различно. Наименува го като обект, който ще наречем map_1 (в кода се нарича filerestore_name). Това е свързано с името на файла и мога да пресъздам това име на променлива - но то се запазва като низ.
Сега предавам това на процедурата make_cool_video. Въпреки това, въпреки че този низ сега е точно същият като името на varialbe, той все още е низ!. Следователно, тъй като е низ, процедурата не може да работи.
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) обаче, това не го конвертира, както очаквах.