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