У меня есть то, что кажется простым циклом в IDL (версия 8.2.2). Для жизни меня не вижу, почему я получаю синтаксическую ошибку. Я попытался заменить FOREACH
на простой цикл FOR
с теми же результатами.Ошибка синтаксиса на 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