序号 |
名称 |
|
功能说明
|
|
语法 & 举例 |
01 |
N_ELEMENTS |
|
表达式或者变量的元素个数。 ----------------------------------------------- Result = N_ELEMENTS(Expression) ----------------------------------------------- ◈ Expression:可以是数组,如果未定义,则返回0
|
|
IDL> A = INDGEN(2,3) IDL> N_ELEMENTS(A) 6 IDL> N_ELEMENTS(AS) 0
|
02 |
DEFSYSV |
|
定义系统变量。 ----------------------------------------------- DEFSYSV, Name, Value [, Read_Only] [, EXISTS=variable] [, /TEST] ----------------------------------------------- ◈ Name:欲创建的系统变量名称,系统变量必须以“!”开头 ◈ Value:系统变量的值,可以是数据、数组或者结构体 ◈ Read_Only:只读,默认可以修改 ◈ EXISTS=variable:判断指定名称的系统变量是否存在,存在变量为 1,不存在变量为 0
|
|
IDL> DEFSYSV, '!NEWVAR', 2.0 IDL> !NEWVAR 2.0000000 IDL> DEFSYSV, '!PI', EXISTS=i IDL> i 1 IDL> DEFSYSV, '!PI2', EXISTS=i IDL> i 0
|
03 |
EXIT |
|
退出 IDL 返回到系统。 所有打开的文件会关闭,所有变量的值都会丢失。 ----------------------------------------------- EXIT [, /NO_CONFIRM] [, STATUS=code] ----------------------------------------------- ◈ NO_CONFIRM:不显示确认对话框
|
|
|
04 |
SAVE |
|
将变量、系统变量和 IDL 函数存储在 *.sav 文件中。 之后可以通过 RESTORE 恢复这些数据。 ----------------------------------------------- SAVE [, Var1, ..., Varn] [, /ALL] [, /COMM, /VARIABLES] [, /COMPRESS] [, DESCRIPTION=string] [, /EMBEDDED] [, FILENAME=string] [, /IGNORE_NOSAVE] [, /ROUTINES] [, /SYSTEM_VARIABLES] [, /VERBOSE] ----------------------------------------------- ◈ NO_CONFIRM:不显示确认对话框
|
|
IDL> SAVE, /VARIABLES, FILENAME = 'session1.sav'
IDL> RESTORE, 'session1.sav'
|
05 |
RESTORE |
|
恢复通过 SAVE 过程存储在 *.sav 文件中的变量、函数等。 ----------------------------------------------- RESTORE [[, Filename] | [, FILENAME=name]] [, DESCRIPTION=variable] [, /NO_COMPILE] [, /RELAXED_STRUCTURE_ASSIGNMENT] [, RESTORED_OBJECTS=variable] [, /VERBOSE] ----------------------------------------------- ◈ NO_CONFIRM:不显示确认对话框
|
06 |
FUNCTION |
|
定义一个 IDL 函数。 ----------------------------------------------- FUNCTION Function_Name, parameter1, ..., parametern ----------------------------------------------- ◈ Function_Name:函数的名称 ◈ parameter1:第1个参数 ◈ parametern:第N个参数
|
|
|
07 |
PRO |
|
定义一个 IDL 过程。 ----------------------------------------------- PRO Procedure_Name, argument1, ..., argumentn . . . END ----------------------------------------------- ◈ Procedure_Name:过程的名称 ◈ argument1:第1个参数 ◈ argumentn:第N个参数
|
|
|
08 |
LIST |
|
创建一个新的 list。 list 可以包含不同的数据类型,包括数据、数组、结构体、指针、对象以及其他的 list 或者 哈希表。 ----------------------------------------------- Result = LIST( [Value1, Value2, ... Valuen] [, /EXTRACT] [, LENGTH=value] [, /NO_COPY]) ----------------------------------------------- ◈ Valuen:每个元素的值 ◈ EXTRACT:默认情况下,数组和 list 都是以单独的元素存在的,设置此关键字,数组和 list 中的元素都会添加到此 list 中 ◈ LENGTH=value:指定元素的个数,如果大于参数个数,则循环填充,如果没有元素,则全部为“!NULL”
|
|
IDL> l = LIST(2, 3, INDGEN(3)) IDL> l [ 2, 3, [0, 1, 2] ] IDL> l = LIST(2, 3, INDGEN(3), /EXTRACT) IDL> l [ 2, 3, 0, 1, 2 ] IDL> l = LIST(0, 1, LENGTH=5) IDL> l [ 0, 1, 0, 1, 0 ]
|
|
List::Add - 增加一个新的元素 List::Count - 返回元素的个数 List::Filter - Pass the items through a filter function. List::IsEmpty - 测试是否为空 List::Map - Pass the items through a user-defined function. List::Move - Move items in the list. List::NestedMap - Pass the items through a user-defined function using a nested loop. List::Reduce - Pass each item through a function, accumulating the result. List::Remove - Remove an item from the list. List::Reverse - 反转所有元素 List::Sort - 为所有元素排序 List::Swap - Switch the positions of two items in the list. List::ToArray - 转换为 IDL 数组 List::Where - 找到等于指定值的元素
|
09 |
STOP |
|
停止一个正在执行的程序或者批处理文件。 ----------------------------------------------- STOP [, Expr1, ..., Exprn] ----------------------------------------------- ◈ Angle:顺时针旋转的角度值
|
|
IDL> ;假设你想停止一个过程,并输出 A、B、C 和 NUM,可以在合适的位置输入下面的命令: IDL> STOP, A, B, C, NUM IDL> ;为了继续执行程序,可以输入下面的命令: IDL> .CONT
|
10 |
TYPENAME |
|
获取变量的 IDL 类型名称、类名或者结构名。 ----------------------------------------------- Result = TYPENAME(Variable) ----------------------------------------------- ◈ Variable:变量名称或者表达式
|
|
IDL> TYPENAME(0.2) FLOAT IDL> TYPENAME([3,2]) INT
|
11 |
WAIT |
|
将程序暂停指定的时间段。 ----------------------------------------------- WAIT, Seconds ----------------------------------------------- ◈ Seconds:暂停的秒数
|
|
IDL> array = [1, 2, 2, 5, 6, 6, 5] IDL> UNIQ(array) 0 2 3 5 6 IDL> array[UNIQ(array)] 1 2 5 6 5 IDL> UNIQ(array, SORT(array)) 0 1 3 4 IDL> array[UNIQ(array, SORT(array))] 1 2 5 6
|
12 |
TIC |
|
存储开始时候的系统时间。 ----------------------------------------------- TIC [, /PROFILER] ----------------------------------------------- ClockName = TIC( [Name] [, /PROFILER] )
|
|
|
13 |
TOC |
|
存储结束时候的系统时间。 ----------------------------------------------- TOC [, ClockID] [, LUN=lun] [, REPORT=variable] ----------------------------------------------- Result = TOC( [ClockID] [, REPORT=variable] )
|
|
|
|
|
|
|
|
|