我在IDL(版本8.2.2)中看到了一个简单的FOREACH
循环。对于我的生活,我不明白为什么我会收到语法错误。我尝试使用简单的FOR
循环替换file
并获得相同的结果。
删除for循环并单独运行语句可以正常工作(当然,对FOREACH file, filenames DO BEGIN
; A number of
; statements that execute
; just fine
ENDFOREACH
的单个值进行硬编码)。
ENDFOREACH
^
% Syntax error.
结果:
@myscript
这一切都在脚本中运行,使用test.pro
也许直接来自文档的更简单的例子将有所帮助:
我创建了一个脚本test.pro
,从文档中复制/粘贴:http://www.harrisgeospatial.com/docs/BEGIN___END.html,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>
结果:
{{1}}
答案 0 :(得分:1)
批处理文件(通过@myscript
调用)不能包含复合语句,即BEGIN
/ END
。将其变成程序/功能或主要程序。