Je suis en train de créer une commande « système » pour clisp qui fonctionne comme cecommandes shell en cours d'exécution avec gnu clisp
(setq result (system "pwd"))
;;now result is equal to /my/path/here
J'ai quelque chose comme ceci:
(defun system (cmd)
(ext:run-program :output :stream))
Mais, je suis pas sûr de savoir comment transformer un flux en chaîne. J'ai examiné l'hyperspec et google plus de quelques fois.
edit: travailler avec la commande de Ranier et en utilisant avec sortie à flux,
(defun system (cmd)
(with-output-to-string (stream)
(ext:run-program cmd :output stream)))
Et puis essayer de courir grep
, qui est sur mon chemin ...
[11]> (system "grep")
*** - STRING: argument #<OUTPUT STRING-OUTPUT-STREAM> should be a string, a
symbol or a character
The following restarts are available:
USE-VALUE :R1 Input a value to be used instead.
ABORT :R2 Abort main loop
Break 1 [12]> :r2
question: qu'est-ce que l': sortie indique? est-ce une syntaxe de paramètre nommé? –
En outre, votre suggestion ne fonctionne pas, j'ai ajouté info ci-dessus –
: sortie est un paramètre qui définit où la sortie sera dirigée vers. dans ce cas, il sera dirigé vers un flux. –