如何在Guile中的两个进程之间创建管道?

时间:2013-08-26 05:06:59

标签: process scheme pipe guile

我想在Guile中创建两个进程,并将输出(stdout)从其中一个作为输入(stdin)发送到另一个。

使用以下示例,如何做到这一点?

echo "foo bar" | wc

输出:

1       2       8

1 个答案:

答案 0 :(得分:3)

是的,您可以使用open-output-pipe

执行此操作
(let ((p (open-output-pipe "wc")))
  (display "The quick brown fox jumps over the lazy dog.\n" p)
  (close-pipe p))

这相当于echo "The quick brown fox jumps over the the lazy dog." | wc(包括echo的隐式换行符,因为我就是那个,lol)。

当然,有一个open-input-pipe类似物。有关详细信息,请阅读Guile手册的Pipes部分。