Common lisp uiop:启动程序和节点
我正在尝试启动node,编写JS并读回答案。为什么下面的代码不工作,但挂起在读取行<代码>echo“console.log(1+1)”|节点工作正常Common lisp uiop:启动程序和节点,common-lisp,Common Lisp,我正在尝试启动node,编写JS并读回答案。为什么下面的代码不工作,但挂起在读取行echo“console.log(1+1)”|节点工作正常 (defvar node-process (uiop:launch-program '("/usr/local/bin/node") :input :stream :output :stre
(defvar node-process (uiop:launch-program '("/usr/local/bin/node")
:input :stream
:output :stream
:error-output :stream))
(defvar node-stream (make-two-way-stream (uiop:process-info-output node-process)
(uiop:process-info-input node-process)))
(write-line "console.log(1+1)" node-stream)
(force-output node-stream)
(format t "~s~%" (read-line node-stream))
在非交互模式下,
节点
似乎仅在读取EOF
后才会发出输出,因此您需要在读取前关闭输入流
加
(关闭(双向流输入流节点流))
在强制输出之后和读取行之前