Ich habe, was wie eine einfache FOREACH
Schleife in IDL (Version 8.2.2) scheint. Für das Leben von mir kann ich nicht sehen, warum ich einen Syntaxfehler bekomme. Ich versuchte, die FOREACH
durch eine einfache FOR
Schleife mit den gleichen Ergebnissen zu ersetzen.Syntaxfehler auf FOREACH ... ENDFOREACH Schleife
Das Entfernen der for-Schleife und das Ausführen der Anweisungen alleine funktioniert gut (hartes Codieren eines einzelnen Werts für file
natürlich).
FOREACH file, filenames DO BEGIN
; A number of
; statements that execute
; just fine
ENDFOREACH
Ergebnis:
ENDFOREACH
^
% Syntax error.
Dies alles in einem Skript ausgeführt wird, aufgerufen mit @myscript
Vielleicht ein noch einfacheres Beispiel direkt aus der Dokumentation helfen:
ich erstellt Skript test.pro
, Kopieren/Einfügen aus der Dokumentation: http://www.harrisgeospatial.com/docs/BEGIN___END.html, der Inhalt von test.pro
sind:
arr = [1, 3, 5, 7, 9]
FOREACH element, arr DO BEGIN
PRINT, element
ENDFOREACH
Ergebnis:
IDL> @test
9
ENDFOREACH
^
% Syntax error.
At: /mydir/test.pro, Line 4
IDL>
Nicht viel kann hier schiefgehen. Ist 'Dateiname' definiert und initialisiert? Ist eine einfache "foreach/for" mit vielleicht nur ganzen Zahlen arbeiten? – Ash
Ich habe versucht, es durch ein einfaches 'for' /' endfor' zu ersetzen, das gleiche Problem. Ich habe dreifache Dateinamen überprüft und reproduziert sie mit einem einfacheren Beispiel, wie es jetzt veröffentlicht wurde. –
Sind Sie sicher, dass Ihre Frage "idl" und nicht "idl-Programmiersprache" ist? – PetSerAl