序号 |
名称 |
|
功能说明 & 语法 & 举例
|
01 |
FOR |
|
循环语句。 ----------------------------------------------------------------------------------------------- FOR variable = init, limit [, Increment] DO statement ----------------------------------------------------------------------------------------------- FOR variable = init, limit [, Increment] DO BEGIN statements ENDFOR ----------------------------------------------------------------------------------------------- ◈ init:开始的数 ◈ limit:结束的数 ◈ Increment:增量值 ◈ statement(s):循环语句内容
|
|
1 2 3 4 5 6 7 8 | IDL> FOR i = 1 , 10 , 4 DO PRINT , i
1
5
9
FOR i = 1 , 10 , 4 DO BEGIN
PRINT , i
ENDFOR
|
|
02 |
FOREACH |
|
循环语句。 ----------------------------------------------------------------------------------------------- FOREACH Element, Variable [, Index] DO Statement ----------------------------------------------------------------------------------------------- FOREACH Element, Variable [, Index] DO BEGIN statements ENDFOREACH ----------------------------------------------------------------------------------------------- ? Element:每一个元素 ◈ Variable:数组变量 ◈ Index:元素的索引值 ◈ Statement(s):循环语句内容
|
|
1 2 3 4 5 6 7 8 9 10 | IDL> strs = [ "alex" , "bn" , "lee" ]
IDL> FOREACH e, strs, i DO PRINT , i, "--" , e
0 - - alex
1 - - bn
2 - - lee
strs = [ "alex" , "bn" , "lee" ]
FOREACH e, strs, i DO BEGIN
PRINT , i, "--" , e
ENDFOREACH
|
|
03 |
WHILE...DO |
|
循环语句。 ----------------------------------------------------------------------------------------------- WHILE expression DO statement ----------------------------------------------------------------------------------------------- WHILE expression DO BEGIN statements ENDWHILE ----------------------------------------------------------------------------------------------- ◈ expression:判断表达式 ◈ statement(s):循环语句
|
|
1 2 3 4 5 6 7 8 9 10 | IDL> i = 3
IDL> WHILE(i gt 0 ) DO PRINT , i - -
3
2
1
i = 3
WHILE(i gt 0 ) DO BEGIN
PRINT , i - -
ENDWHILE
|
|
04 |
IF...THEN...ELSE |
|
选择语句 ----------------------------------------------------------------------------------------------- IF expression THEN statement ----------------------------------------------------------------------------------------------- IF expression THEN statement ELSE statement ----------------------------------------------------------------------------------------------- IF expression THEN BEGIN statements ENDIF ----------------------------------------------------------------------------------------------- IF expression THEN BEGIN statements ENDIF ELSE BEGIN statements ENDELSE ----------------------------------------------------------------------------------------------- ◈ expression:判断表达式 ◈ statement(s):语句内容
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | IDL> A = 2
IDL> B = 3
IDL> IF(A EQ 2 ) AND (B EQ 3 ) THEN PRINT , 'A = ' , A, STRING( 13B ), 'B = ' , B
A = 2
B = 3
IDL> A = 2
IDL> IF(A EQ 2 ) THEN PRINT , 'A = ' , A ELSE PRINT , 'A ≠ ' , A
A = 2
A = 2
B = 3
IF(A EQ 2 ) AND (B EQ 3 ) THEN BEGIN
PRINT , 'A = ' , A
PRINT , 'B = ' , B
ENDIF
A = 2
IF(A EQ 2 ) THEN BEGIN
PRINT , 'A = ' , A
ENDIF ELSE BEGIN
PRINT , 'A ≠ ' , A
ENDELSE
|
|
05 |
CASE |
|
只执行符合条件的一个语句块。(多条语句需要使用 BEGIN...END) ------------------------------------------------------------ CASE expression OF expression: statement(s) ... expression: statement(s) ENDCASE ------------------------------------------------------------ CASE expression OF expression: statement(s) ... expression: statement(s) ELSE: satement(s) ENDCASE ------------------------------------------------------------ CASE expression OF expression: statement(s) ... expression: statement(s) ELSE: BEGIN satement(s) END ENDCASE ------------------------------------------------------------ ◈ expression:判断语句 ◈ statement(s):执行语句
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | x = 1
CASE x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ENDCASE
IDL Prints:
one
x = 2
CASE x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ELSE: PRINT , 'You entered: ' , x
ENDCASE
IDL Prints:
two
x = 3
CASE x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ELSE: BEGIN
PRINT , 'You entered: ' , x
PRINT , 'Please enter a value between 1 and 2'
END
ENDCASE
IDL Prints:
You entered: 3
Please enter a value between 1 and 2
|
|
06
|
SWITCH
|
|
执行符合条件后面的所有语句块。 ----------------------------------------------------------------------------------------------- SWITCH expression OF expression: statement(s) ... expression: statement(s) ENDSWITCH ----------------------------------------------------------------------------------------------- SWITCH expression OF expression: statement(s) ... expression: statement(s) ELSE: satement(s) ENDSWITCH ----------------------------------------------------------------------------------------------- SWITCH expression OF expression: statement(s) ... expression: statement(s) ELSE: BEGIN satement(s) END ENDSWITCH ----------------------------------------------------------------------------------------------- ◈ expression:判断语句 ◈ statement(s):执行语句
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | x = 1
SWITCH x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ENDSWITCH
IDL Prints:
one
two
x = 2
SWITCH x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ELSE: PRINT , 'You entered: ' , x
ENDSWITCH
IDL Prints:
two
You entered: 2
x = 2
SWITCH x OF
1 : PRINT , 'one'
2 : PRINT , 'two'
ELSE: BEGIN
PRINT , 'You entered: ' , x
PRINT , 'Please enter a value between 1 and 2'
END
ENDSWITCH
IDL Prints:
two
You entered: 2
Please enter a value between 1 and 2
|
|
07 |
REPEAT...UNTIL |
|
循环语句(与 WHILE...DO 语句类似) ----------------------------------------------------------------------------------------------- REPEAT statement UNTIL expression ----------------------------------------------------------------------------------------------- REPEAT BEGIN statements ENDREP UNTIL expression ----------------------------------------------------------------------------------------------- ◈ statement(s):执行语句 ◈ expression:判断语句
|
|
1 2 3 4 5 6 7 8 9 10 11 | IDL> i = 3
IDL> REPEAT PRINT , i - - UNTIL(i lt 0 )
3
2
1
0
i = 3
REPEAT BEGIN
PRINT , i - -
ENDREP UNTIL(i lt 0 )
|
|
08 |
BEGIN...END |
|
用于显示多条语句。 ----------------------------------------------------------------------------------------------- BEGIN statements END | ENDIF | ENDELSE | ENDFOR | ENDFOREACH | ENDREP | ENDWHILE -----------------------------------------------------------------------------------------------
|
|
1 2 3 4 5 6 7 8 9 10 11 | CASE name OF
'Moe' : BEGIN
PRINT , 'Stooge'
END
ENDCASE
SWITCH name OF
'Moe' : BEGIN
PRINT , 'Stooge'
END
ENDSWITCH
|
|
09 |
CONTINUE |
|
执行FOR、WHILE 或 REPEAT 循环语句中下一条循环。
|
|
1 2 3 4 5 6 7 8 9 10 11 12 | FOR I = 1 , 10 DO BEGIN
; If odd, start next iteration:
IF (I AND 1 ) THEN CONTINUE
PRINT , I
ENDFOR
IDL Prints:
2
4
6
8
10
|
|
10 |
BREAK |
|
从 FOR、WHILE、REPEAT 循环、CASE 或 SWITCH 语句中跳出。
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | i = 0
PRINT , 'Initial value: ' , i
WHILE ( 1 ) DO BEGIN
i = i + 1
IF (i eq 5 ) THEN BREAK
PRINT , 'Loop value: ' , i
ENDWHILE
PRINT , 'END VALUE: ' , i
IDL Prints:
Initial value: 0
Loop value: 1
Loop value: 2
Loop value: 3
Loop value: 4
END VALUE: 5
|
|
|
|
|
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)