序号 |
名称 |
|
功能说明
|
|
语法 & 举例 |
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] )
|
|
|
|
|
|
|
|
|