名稱 | 功能說明 | 類型 | 語法&舉例 |
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行的數組。 | ||