文字列を変数名に変換したいので、既に復元された変数として読み込むことができます。IDLでは、変数名にどのようにアクセスできますか?
私はファイルを見て、すべてのファイルを見ます。私はIDLでファイルを使用するためにRESTOREを使用しますが、このオブジェクトの名前を若干異なるものとしてリストアします。それは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)を使用すると、予想通りに変換されません。