名称 | 功能说明 | 类型 | 语法&举例 |
IDL_VALIDNAME | 判断变量名是否有效,无效返回值为空或者自动修改 | 函数 | |
DEFSYSV | 自定义系统变量,全局变量 | 过程 | |
MAKE_ARRAY | 构建数组,返回值为数组 | 函数 | |
SIZE | 返回值是数组,分别表示维度、列、行、类型、个数 | 函数 | (size(findgen(10,2)))[4] |
TYPENAME | 返回某个变量的类型名 | 函数 | |
WHERE | 返回符合条件的数组,count记录个数 | 函数 | where(a gt 2, count) |
数组操作 | |||
REFORM | 调整数组的维度,元素个数不变 | 函数 | |
REBIN | 调整数组的大小,类似分辨率变化 | 函数 | |
CONGRID | 重采样,类似REBIN | 函数 | |
REVERSE | 1-行反转/水平,2-列反转/垂直 | 函数 | |
ROTATE | 数组旋转,1-顺时针90°,2-180°中心对称,3-逆时针90° | 函数 | ROTATE(Array, Direction) |
ROT | 任意角度旋转 | 函数 | |
SORT | 排序,从小到大,返回索引数组 | 函数 | 上升:a[sort(a)] 下降:a[reverse(sort(a))] |
UNIQ | 相邻唯一值,返回索引数组 | 函数 | 唯一上升数组: array[UNIQ(array, SORT(array))] |
数组计算 | |||
MAX | 最大值,可选参数为最大值的索引 | 函数 | MAX( Array [, Max_Subscript]) |
MIN | 最小值 | 函数 | |
TOTAL | 数组元素总和 | 函数 | |
PRODUCT | 数组元素总乘积 | 函数 | |
FACTORIAL | 阶乘 | 函数 | |
MEAN | 平均值 | 函数 | |
ALOG | 自然对数 | 函数 | |
ALOG10 | 以10为底的对数 | 函数 | |
EXP | e的指数幂 | 函数 | |
SQRT | 平方根 | 函数 | |
^ | 幂 | 操作符 | 2^2=4, 2^0.5=1.414等 |
可视化控件 | |||
DIALOG_MESSAGE | 消息框,返回值为“Yes”, “No”, “OK”, and “Cancel”,可设置消息框的类型、标题等 | 函数 | dialog_message("Right?", /question, title="Look: ", /cancel) |
DIALOG_PICKFILE | ◈ 文件选择,返回值为文件路径 ◈ 指定 DIRECTORY 关键字,文件夹选择,返回值为文件夹路径 DEFAULT_EXTENSION 自动增加扩展名; DIRECTORY 选择文件夹; FILE 可以使用通配符进行筛选(FILE = 'sa*'); FILTER 扩展名设置(FILTER = ['*.jpg', '*.tif', '*.png']); MULTIPLE_FILES 可以选择多个文件; PATH 设置初始进去的路径,不指定的话就进到当前的工作空间; READ 标题为 “Select File to Read”。 WRITE 标题为 “Select File to Write”。 |
函数 | dialog_pickfile(title="Select", FILTER = ['*.jpg', '*.tif', '*.png']) |
字符串操作 | |||
STRING | 返回字符串。 | 函数 | |
STRCMP | 比较字符串,一样返回1,不一样返回0,参数包括比较前几个字母和是否大小写敏感。 | 函数 | |
STRCOMPRESS | 将字符串中的空格和Tab等压缩成一个空格,参数包括删除所有空格。 | 函数 | |
STRJOIN | 将字符串数组合并成一个字符串,用什么符号进行连接。 | 函数 | |
STRLEN | 返回字符串的长度。 | 函数 | |
STRPOS | 字符串中字符位置查找,返回数值。/reverse_search从后面开始搜索。 | 函数 | |
STRMID | 字符串截取,参数有开始字母的位置,以及截取长度。不写长度就是到最后。 | 函数 | |
STRSPLIT | 拆分,用什么符号进行拆分。 | 函数 | |
STRTRIM | 删除前后空格(2)。 ◈ strtrim(a):去掉后面的空格 ◈ strtrim(a, 1):去掉前面的空格 ◈ strtrim(a, 2):去掉前后的空格 |
函数 | |
STRUPCASE | 字符串大写 | 函数 | |
STRLOWCASE | 字符串小写 | 函数 | |
结构体 | |||
N_TAGS | 返回结构体中成员个数。 | 函数 | |
TAG_NAMES | 返回结构体成员的名字。 | 函数 | |
链表&哈希表 | |||
LIST | 链表,访问用中括号[]。 链表方法:Add、Count、IsEmpty、Remove、Reverse、ToArray、Where等。 |
函数 | |
HASH | 哈希表,访问用中括号[]。 | 函数 | |
OBJ_DESTROY | 对象销毁 | 函数 | |
循环语句 | |||
FOR | 循环 | FOR variable = init, limit [, Increment] DO statement or FOR variable = init, limit [, Increment] DO BEGIN statements ENDFOR |
|
CONTINUE | |||
BREAK | |||
IF...THEN...ELSE | 选择语句 | IF expression THEN statement [ ELSE statement ] or IF expression THEN BEGIN statements ENDIF or IF expression THEN BEGIN statements ENDIF ELSE BEGIN statements ENDELSE |
|
CASE | 只显示一条 | CASE expression OF expression: statement(s) ... expression: statement(s) [ ELSE: statement(s) ] ENDCASE |
|
SWITCH | 下面的全部都显示 | SWITCH expression OF expression: statement ... expression: statement ELSE: statement ENDSWITCH |
|
REPEAT | |||
FOREACH | FOREACH Element, Variable [, Index] DO Statement or FOREACH Element, Variable [, Index] DO BEGIN statements ENDFOREACH |
||
WHILE...DO | 循环 | WHILE expression DO statement or WHILE expression DO BEGIN statements ENDWHILE |
|
过程&函数 | |||
PRO | 过程,Procedure,无返回值,位置参数和关键字参数。 | ||
FUNCTION | 函数,有返回值 | ||
N_PARAMS | 返回非关键字参数的个数(即位置参数的个数)。 | 函数 | |
N_ELEMENTS | 返回一个表达式或变量中包含的元素数。 | 函数 | |
KEYWORD_SET | |||
输入与输出 | |||
格式化输出。 | |||
PRINTF | 写入文件中 | ||
Format Codes | |||
READ | 格式化变量输入。 | ||
READF | |||
READS | 格式化的从字符串读入。 | ||
READU | 读取二进制文件 | ||
OPENR/OPENU/OPENW | 【WIDTH/APPEND】打开读(已存在的文件)、打开更新(已存在文件)、打开写(新建文件,若已经存在,则删除原内容) | ||
WRITEU | 写入二进制文件。 | ||
FREE_LUN | 释放一个逻辑设备号并关闭文件。 | ||
SKIP_LUN | 移动文件指针来读取文件。 | ||
POINT_LUN | 设置或者获取指定文件的文件指针位置。 | ||
FILE_LINES | 返回文本文件的行数。 | ||
EOF | 检测是否到文件末。到达文件的结尾返回1,没到达返回0. | ||
CLOSE | 关闭一个文件。 | ||
FSTAT | 返回一个已打开文件的信息。 | ||
ASCII_TEMPLATE | |||
QUERY_BMP | 获取BMP图片的信息。读取成功返回1,读取失败返回0. | ||
READ_BMP | 读取BMP图片 | ||
WRITE_JPEG | 写入JPEG格式图片。(TRUE的值通过3那个值所处位置来确定) | ||
WRITE_TIFF | 写入TIFF格式图片。 | ||
文件操作系统 | |||
CD | 修改当前的工作空间路径。 | 过程 | |
FILE_SEARCH | 对文件名进行特定的查找。返回字符串数组。 | 函数 | |
FILE_COPY | 说明:SourcePath 想要复制的文件夹或文件的路径 DestPath 目的地文件夹 OVERWRITE 覆盖文件 |
||
FILE_DELETE | 说明:RECURSIVE 默认情况下只能删除空文件夹,设置此参数能够删除非空文件夹 RECYCLE 默认情况下永久删除,设置此参数可以将删除的文件放在回收站里面 |
||
FILE_MOVE | |||
FILE_MKDIR | |||
FILE_TEST | |||
ROUTINE_FILEPATH | 返回当前编译过程或函数的完整路径。 | ||
FILE_DIRNAME | 返回文件路径所在的文件夹路径。 | ||
FILEPATH | |||
PATH_SEP | |||
系统变量 | |||
!NULL | 未定义。 | ||
!ERROR_STATE | !EXCEPT、!MOUSE、!WARN。 | ||
SYSTIME | 返回指定的时间形式。 | 函数 | Result = SYSTIME( [0 [, ElapsedSeconds]] [, /UTC] ) or Result = SYSTIME( 1 | /SECONDS ) or Result = SYSTIME( /JULIAN [, /UTC] ) |
TIC | 开始时的系统时间。 | ||
TOC | 结束时的系统时间,并计算两者时间差。 | ||
TEMPORARY | 为变量不需要增加额外的空间。类似于!NULL。 | ||
CATCH | 错误捕捉。 | ||
PLOT | |||
TV | |||
TVSCL | |||
DIST | 发挥N列M行的数组,省略M就返回N列N行的数组。 | ||