In cmd.exe prüfst du trailing spaces am zuverlässigsten, indem du den Originalwert mit einer rechts getrimmten Variante vergleichst; direkte String-Prüfungen sind in Batch dafür un...
Was macht &aux in CLISP?
Antwort vom**`&aux` deklariert in Common Lisp zusätzliche lokale Variablen in der Parameterliste; sie sind keine Argumente, sondern werden beim Funktionsaufruf intern gebunden und optional initialisiert.** ([lispworks.com](https://www.lispworks.com/documentation/HyperSpec/Body/26_glo_a.htm)) Beispiel: ```lisp (defun beispiel (x &optional y &aux (sum (+ x (or y 0))) (doppelt (* sum 2))) doppelt) ``` Hier gilt: - `x` und `y` kommen von außen als Argumente. - `sum` und `doppelt` kommen **nicht** von außen, sondern werden intern erzeugt. - Die `&aux`-Initialisierungen laufen der Reihe nach, praktisch wie ein kleines `let*`. Deshalb darf `doppelt` auf `sum` zugreifen. Das ist der entscheidende Unterschied zu normalen Parametern. ([lispworks.com](https://www.lispworks.com/documentation/HyperSpec/Body/03_d.htm)) Wichtig für CLISP: Das ist kein CLISP-Sonderfeature, sondern normales Common Lisp. Wenn du `&aux` in einer `defun`- oder `lambda`-Liste siehst, bedeutet es fast immer: „Hilfsvariablen direkt am Anfang der Funktion anlegen, statt extra ein `let` in den Body zu schreiben.“ CLISP führt das entsprechend dem Standard. ([lispworks.com](https://www.lispworks.com/documentation/HyperSpec/Body/03_d.htm)) Der praktische Nutzen ist vor allem Lesbarkeit bei kurzen Vorbereitungen. Für viel Logik ist ein separates `let` meist klarer; `&aux` lohnt sich eher für 1–3 einfache Hilfsbindungen direkt neben den Parametern. ([lispworks.com](https://www.lispworks.com/documentation/HyperSpec/Body/03_d.htm))