Scheme 什么';Gambit-C方案中的stdout怎么了?

Scheme 什么';Gambit-C方案中的stdout怎么了?,scheme,Scheme,这是怎么回事,我如何从Gambit-C程序中获取输出 $ gsi -e "(pp 'hello?)" hello? $ gsi -e "(pp 'hello?)" >asdf hello? $ gsi -e "(pp 'hello?)" 2>asdf hello? $ cat asdf 它应该将程序的输出放入asdf,但它是空的! 我是否可以设置编译时或运行时选项,使其像对待普通unix程序一样对待标准输出?(最好是编译时)我不熟悉pp,但您似乎想要漂亮的打印版本: $ gs

这是怎么回事,我如何从Gambit-C程序中获取输出

$ gsi -e "(pp 'hello?)"
hello?

$ gsi -e "(pp 'hello?)" >asdf
hello?

$ gsi -e "(pp 'hello?)" 2>asdf
hello?

$ cat asdf
它应该将程序的输出放入
asdf
,但它是空的!
我是否可以设置编译时或运行时选项,使其像对待普通unix程序一样对待标准输出?(最好是编译时)

我不熟悉
pp
,但您似乎想要
漂亮的打印版本

$ gsi -e "(pretty-print 'hello?)" > test
$ cat test
hello?
$

你说得对。我看到很多Gambit-C示例中都使用了
pp
,但它对REPL有特定的语义,而
pretty print
会按预期重定向。我以为
pp
只是
pretty print
的同义词。谢谢。是的,pp是一个完全不同的函数(尽管令人困惑的是,它在Chicken:S中是相同的),它允许非常整洁的事情,比如看到宏的扩展。找个时间看看宏——它真的很有用,也很有趣。