2009-09-06 2 views

Antwort

2

Siehe Osicat Funktion open-temporary-file und Makro mit temporärer Datei. Dies erstellt nur eine Datei und gibt einen Stream zurück, es enthält keinen Pfadnamen, daher funktioniert es nur dort, wo ein Stream ausreicht. Osicat ist in Quicklisp.

+1

Sie können [Pfadname] verwenden (http://www.lispworks.com/documentation/lw50/CLHS/Body/ f_pn.htm) um den Pfadnamen eines Streams zu erhalten. – thodg

+0

@billitch Das ist wahr, aber ich hatte im Hinterkopf, dass der OP einen Pfadnamen bekommen wollte, ohne die Datei tatsächlich zu öffnen, mit der Formulierung der Frage: "Erstellen eines temporären Dateinamens". – Liam

6

Aktualisierung seit ein paar Jahren vergangen sind. Es gibt zwei Systeme, die eine nicht zuvor erwähnte temporäre Datei öffnen können, cl-fad und UIOP. Sie sind beide in Quicklisp, und UIOP ist Teil von ASDF3, das jetzt mit den meisten CL-Implementierungen geliefert wird.

+1

Für mein eigenes Projekt [GSLL] (http://common-lisp.net/project/gsll) habe ich gerade Osicat durch UIOP ersetzt, weil letzteres anscheinend besser unter Windows funktioniert. – Liam