in IDL:
IDL> a=123
IDL> print,a
123
IDL> b=[1,2,3]
IDL> print,b
1 2 3
IDL> c="the string"
IDL> print,c
the string
IDL> help,a,b,c
A INT = 123
B INT = Array(3)
C STRING = 'the string'
IDL> print,c(2)
% Attempt to subscript C with is out of range.
% Execution halted at $MAIN$ .
in Matlab:
>> a=123
a =
123
>> b=[1,2,3]
b =
1 2 3
>> c='the string'
c =
the string
>> whos
Name Size Elements Bytes Density Complex
a 1 by 1 1 8 Full No
b 1 by 3 3 24 Full No
c 1 by 10 10 80 Full No
Grand total is 14 elements using 112 bytes
>> c(2)
ans =
h
IDL> matrix1=[[1,2,3],[2,-1,2]]
IDL> matrix2=[[1,3],[0,1],[1,1]]
IDL> print,matrix1
1 2 3
2 -1 2
IDL> print,matrix2
1 3
0 1
1 1
IDL> result=transpose(transpose(matrix1) # transpose(matrix2))
IDL> print,result
4 8
4 7
IDL> result=matrix1 # matrix2
IDL> print,result
7 -1 9
2 -1 2
3 1 5
PRO procedure_name, argument1,argument2 ,... ... RETURN END FUNCTION function_name, argument1, argument2,... ... RETURN END宣告方式沒有特別地不一樣,但是要注意的一點是如果在一個檔案中宣
另外IDL可以用遞迴的方式呼叫副程式或函數。
2.5.2. 錯誤處理
錯誤的處理在程式環境中是非常重要的,因為他可以提供除錯的資料。
IDL提供三種錯誤處理的功能:
另外IDL對於程式或函數的尋找先後次序是,先找的是IDL build-in routines,再來是IDL Users' library,最後才是記憶體中的程式或函數。