FOREACH 语法错误 ... ENDFOREACH 循环
Syntax error on FOREACH ... ENDFOREACH loop
我在 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
,copy/paste 来自文档: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>
批处理文件(通过 @myscript
调用)不能有复合语句,即 BEGIN
/END
。使其成为 procedure/function 或主程序。
我在 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
,copy/paste 来自文档: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>
批处理文件(通过 @myscript
调用)不能有复合语句,即 BEGIN
/END
。使其成为 procedure/function 或主程序。