我在IDL(版本8.2.2)中看到了一個簡單的FOREACH
循環。對於我的生活,我不明白爲什麼我得到一個語法錯誤。我嘗試用簡單的FOR
循環替換FOREACH
,結果相同。FOREACH ... ENDFOREACH循環中的語法錯誤
刪除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'可能只是整數工作? – Ash
我試着用一個簡單的'for' /'endfor'替換它,同樣的問題。我已經檢查了三個文件名,並用現在發佈的更簡單的示例進行了複製。 –
你確定你的問題是關於'idl'而不是'idl-programming-language'嗎? – PetSerAl