Überprüfen Sie, ob eine Liste leer ist<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Diese Frage ist vielleicht leicht zu beantworten, aber ich versuche, JMP zu verwenden, um die Anzahl der in einem bestimmten Verzeichnis enthaltenen Dateien zu zählen und entweder den Wert 0 zurückzugeben, wenn keine Dateien vorhanden sind, oder die Anzahl der Dateien.
Ich weiß, dass die Verwendung der Funktion „Dateien im Verzeichnis“ die enthaltenen Dateien als Liste auflistet, aber ich möchte dies in einen numerischen Wert umwandeln:
dh:
//set up raw dir
raw_dir = "C:\\My PhotoFilmStrips\";
_files = Files In Directory( raw_dir );
//show files
show(_files);
show( Type(_files), Is Empty(_files), Is Missing(_files), _files==Empty());
Wenn ich das obige Skript ausführe, erhalte ich Folgendes mit einer Datei im Rohverzeichnis:
Type(_files) = "Liste";
Is Empty(_files) = 0;
Fehlt(_files) = {0};
_files == Empty() = 0;
Wenn das Verzeichnis leer ist, erhalte ich:
Type(_files) = "Number";
Is Empty(_files) = 0;
Fehlt(_files) = 1;
_files == Empty() = .;
Wie kann ich die Variable Is Missing verwenden? Wenn sie beispielsweise 1 ist, weisen Sie die Zahl einer Variablen wie tt=0 zu, und wenn die Variable Is Missing 0 ist, ist tt=1
Jede Hilfe wäre dankbar
Rgds
Colin
Betreff: Überprüfen Sie, ob eine Liste leer istWird vermisst() Bei einer leeren Liste wird eine leere Liste zurückgegeben, da jedes Element einer Liste bearbeitet wird.Wenn die Liste leer ist, sind keine Elemente vorhanden Wird vermisst() zu bearbeiten, daher wird die leere Liste zurückgegeben.Eine bessere Möglichkeit, dies zu sehen, ist jedoch das folgende Beispiel:
lst = {1,2,.,""};
ismissing(lst);
Betreff: Überprüfen Sie, ob eine Liste leer istIn JMP 10 und 11 ergibt ein leeres Verzeichnis eine leere Liste, keinen fehlenden Wert, und das würde ich daher erwarten Wird vermisst() um 0 zurückzugeben. Seltsamerweise, wenn es auf eine leere Liste angewendet wird Wird vermisst() Gibt eine leere Liste zurück, nicht 0 oder 1, was die erwartete Ausgabe einer booleschen Funktion ist. Ich bin nicht sicher, wie es in JMP 9 funktioniert.
Ich schlage vor, dass Sie es verwenden N Items() stattdessen . Zum Beispiel:
tt = ( nitems ( _Dateien ) > 0 ) ;
Bei Verwendung Wird vermisst() Sie können mit dem NOT-Operator zwischen 0 und 1 wechseln, also !Is Missing()