在" Lisp In Small Pieces"的书的开头页面中,有一段如下:
基于"功能"的想法,一个已经成熟的想法 几个世纪的数学研究,应用语言 无所不在的计算;它们以各种形式出现,例如 Un * x字节流的组合,Emacs的扩展语言 编辑器,以及其他脚本语言。
任何人都可以详细说明" unix字节流的组成"?这是什么意思?以及它与应用/函数式编程有何关系?
谢谢,
/布鲁因
答案 0 :(得分:1)
我的猜测是,这是对linux下pipe
之类的引用。
cal | wc
符号|
是调用2个应用程序之间的管道的内容,pipe
是内核提供的功能,因此您可以使用使用此类内核API编写应用程序的管道。 / p>
在此示例中,cal
只是打印日历的实用程序,wc
是一个实用程序,用于计算传递给它的输入中的单词,行和列,在这种情况下输入为管道cal
到wc
的结果让你更容易,因为它更实用,你只关心每个应用程序的功能,你不关心,例如,什么是名称参数或在何处分配临时文件以存储输入/输出。
如果没有管道,你应该做类似
的事情cal > temp.txt
wc temp.txt
rm temp.xt
获取几乎相同的信息。此第二种解决方案也可能产生问题,例如temp.txt
已经存在的问题?您将根据什么样的理由告诉您的脚本为您的临时文件选择一个名称?如果其他流程在对cal
和wc
的两次调用之间修改您的文件会怎样?