【298】◀▶ IDL 系统过程&函数
序号 | 类名称 |
功能说明 |
语法 & 举例 | ||
01 | DEFSYSV |
====<<<< Description >>>>==== 新建一个系统变量。 ====<<<< Syntax >>>>==== DEFSYSV, Name, Value [, Read_Only] [, EXISTS=variable] [, /TEST] ---------------------------------------------------------------------------------- ====<<<< Parameters >>>>==== ◈ Name:新建系统变量的名称,一般大写并以感叹号开头,例如:!RUNDIR。 |
IDL> DEFSYSV, '!XYZ', EXISTS = i IDL> IF i EQ 1 THEN PRINT, '!XYZ exists' ELSE PRINT, $ > '!XYZ does not exist' !XYZ does not exist
|
||
02 | EXECUTE |
====<<<< Description >>>>==== 用来执行字符串所表达的可编译的函数。 ====<<<< Syntax >>>>==== Result = EXECUTE(String [, CompileFlags] [, QuietExecution]) ====<<<< Return Value >>>>==== 如果编译并执行了则返回 1,如果发生错误则返回 0。 ====<<<< Parameters >>>>==== ◈ String:表达式。 |
IDL> void = execute('a=abs(-5)') IDL> print, a 5 IDL> void = execute('abs(-5)', 2) 5 IDL> print, void 1 |
||
03 | EXIT |
====<<<< Description >>>>==== 退出 IDL。不能取消。 ====<<<< Syntax >>>>==== EXIT [, /NO_CONFIRM] [, STATUS=code] ====<<<< Parameters >>>>====
◈ NO_CONFIRM:不显示任何确认框,否则会提示“是否保存”。 |
|||
04 | GET_LOGIN_INFO |
====<<<< Description >>>>==== 返回运行 IDL 电脑的名称以及用户的登录名。 ====<<<< Syntax >>>>==== Result = GET_LOGIN_INFO() ====<<<< Return Value >>>>==== 返回一个匿名结构体,包括 MACHINE_NAME 和 USER_NAME。 |
IDL> get_login_info() { MACHINE_NAME: "JGZX-BNLI-B1", USER_NAME: "McDelfino" } |
||
05 | HELP |
====<<<< Description >>>>==== 提供帮助信息。 ====<<<< Syntax >>>>==== HELP, Expression1, ..., Expressionn, /BREAKPOINTS, /BRIEF, /DEVICE, /DLM, /FILES, /FULL, /FUNCTIONS, /HEAP_VARIABLES, /KEYS, /LAMBDA, /LAST_MESSAGE, LEVEL=value, /MEMORY, /MESSAGES, NAMES=string_of_variable_names, /OBJECTS, OUTPUT=variable, /PATH_CACHE, /PREFERENCES, /PROCEDURES, /RECALL_COMMANDS, /ROUTINES, /SHARED_MEMORY, /SOURCE_FILES, /STRUCTURES, /SYSTEM_VARIABLES, /TRACEBACK ---------------------------------------------------------------------------------- ====<<<< Parameters >>>>====
◈ Expression:不选择关键字的情况下提供基本信息。 |
IDL> a = 2 IDL> b = 'a' IDL> help, a, b A INT = 2 B STRING = 'a' IDL> help, get_login_info(), /structure ** Structure <cf77d80>, 2 tags, length=32, data length=32, refs=1: MACHINE_NAME STRING 'JGZX-BNLI-B1' USER_NAME STRING 'McDelfino' |
||
06 | TAG_NAMES |
====<<<< Description >>>>==== 返回结构体成员名字的字符串数组。 ====<<<< Syntax >>>>==== Result = TAG_NAMES( Expression [, /STRUCTURE_NAME] ) ---------------------------------------------------------------------------------- ====<<<< Return Value >>>>==== 返回结构体成员名称或者结构体的名称。 ====<<<< Parameters >>>>====
◈ Expression:结构体。 |
IDL> s1 = {a:1, b:INDGEN(5), c:'hello'} IDL> PRINT, TAG_NAMES(s1) A B C IDL> PRINT, TAG_NAMES(s1, /structure_name) IDL> print, tag_names(get_login_info()) MACHINE_NAME USER_NAME IDL> s2 = {s2name, a:1, b:INDGEN(5), c:'hello'} IDL> PRINT, TAG_NAMES(s2, /structure_name) S2NAME |
||
07 | ROUTINE_FILEPATH |
====<<<< Description >>>>====
返回当前正在编译的过程或函数的完整路径。
====<<<< Syntax >>>>====
Result = ROUTINE_FILEPATH( [Routine] [, /EITHER] [, /IS_FUNCTION] )
----------------------------------------------------------------------------------
====<<<< Return Value >>>>====
返回程序所在完整路径的字符串或字符串数组。
====<<<< Parameters >>>>====
◈ Routine:程序名称,如果设置为函数的话,需要指定IS_FUNCTION or EITHER keyword。不赋值的话,返回当前程序的路径。 |
;获取当前程序的路径 PRINT, FILE_DIRNAME(ROUTINE_FILEPATH()) ;获取当前工作空间的路径 CD, current=c PRINT, c |
||
------- |