【发布时间】:2016-11-16 19:17:43
【问题描述】:
我在 IDL(版本 8.2.2)中有一个看似简单的 FOREACH 循环。在我的一生中,我不明白为什么会出现语法错误。我尝试用简单的FOR 循环替换FOREACH,结果相同。
删除 for 循环并单独运行语句可以正常工作(当然,为 file 硬编码单个值)。
FOREACH file, filenames DO BEGIN
; A number of
; statements that execute
; just fine
ENDFOREACH
结果:
ENDFOREACH
^
% Syntax error.
这都是在一个脚本中运行的,用@myscript调用
也许直接来自文档的更简单的示例会有所帮助:
我创建了一个脚本test.pro,从文档中复制/粘贴:http://www.harrisgeospatial.com/docs/BEGIN___END.html,test.pro 的内容是:
arr = [1, 3, 5, 7, 9]
FOREACH element, arr DO BEGIN
PRINT, element
ENDFOREACH
结果:
IDL> @test
9
ENDFOREACH
^
% Syntax error.
At: /mydir/test.pro, Line 4
IDL>
【问题讨论】:
-
这里不会出错。
filesnames是否已定义和初始化?一个简单的foreach/for可能只有整数工作吗? -
我尝试用一个简单的
for/endfor替换它,同样的问题。我已经对文件名进行了三次检查,并使用现在发布的更简单的示例对其进行了复制。 -
您确定您的问题是关于
idl而不是idl-programming-language?
标签: idl idl-programming-language