1 行に 1 文のテキスト ファイルがあります。hunspell (-s オプション) を使用して、各行の世界を見出し語にしたいと思います。各行のレンマを個別に取得したいので、テキスト ファイル全体を hunspell に提出するのは意味がありません。1 行ずつ送信し、各行の hunspell を出力する必要があります。
How to process input and output streams in Steel Bank Common Lisp?の回答に従ってください。、hunspell のテキスト ファイル全体を 1 行ずつ送信することはできましたが、各行の hunspell の出力をキャプチャすることはできませんでした。別の行を送信する前に、行を送信して出力を読み取るプロセスとどのようにやり取りしますか?
テキストファイル全体を読み取るための現在のコードは
(defun parse-spell-sb (file-in)
(with-open-file (in file-in)
(let ((p (sb-ext:run-program "/opt/local/bin/hunspell" (list "-i" "UTF-8" "-s" "-d" "pt_BR")
:input in :output :stream :wait nil)))
(when p
(unwind-protect
(with-open-stream (o (process-output p))
(loop
:for line := (read-line o nil nil)
:while line
:collect line))
(process-close p))))))
もう一度、このコードは、テキスト ファイル全体の hunspell の出力を示します。入力行ごとに hunspell を個別に出力したいと思います。
何か案が?