このように機能するclispの「システム」コマンドを作成しようとしています
(setq result (system "pwd"))
;;now result is equal to /my/path/here
私はこのようなものを持っています:
(defun system (cmd)
(ext:run-program :output :stream))
しかし、ストリームを文字列に変換する方法がわかりません。ハイパースペックとグーグルを何度も見直しました。
編集: Ranier のコマンドを使用し、with-output-to-stream を使用して、
(defun system (cmd)
(with-output-to-string (stream)
(ext:run-program cmd :output stream)))
そしてgrep
、私のパスにある を実行しようとしています...
[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