IDL中的多行循环

时间:2018-02-17 23:26:38

标签: idl-programming-language

我正在尝试在IDL中进行多行循环,但它不起作用,这是我的第一个程序:

for n=0,5 do begin
  print, n

给出了这个输出:

6

这是我的第二个项目:

for n=0,5 do begin
  print, n
endfor

会出现以下错误:

endfor
 ^
% Syntax error.

我希望程序提供此输出:

0
1
2
3
4
5

由于

3 个答案:

答案 0 :(得分:1)

编写多行FOR循环的正确方法确实是:

for n=0,5 do begin
  print, n
endfor

但IDL不接受在所有上下文中使用BEGIN / END块的多行语句。例如,不是直接在命令行。如果要在命令行中执行此操作,则需要通过执行以下操作来创建小型主级程序:

IDL> .run
for n=0,5 do begin
  print, n
endfor
end

您还可以在过程或函数中使用FOR循环。

答案 1 :(得分:1)

正如上面的@SofCh所建议的,我只是使用延续字符来完成此操作

for n=0,5 do begin $ 
  print, n & $ 
endfor

答案 2 :(得分:0)

如果您是在命令行中编写的,则可能需要在“ DO BEGIN”行的末尾添加“&”或“&$”。这表明循环在下一行继续。

但通常也很容易将其压缩为一行,例如

    for n = 0,5 do print, n