A programmer had a problem. He thought "I know, I'll create an API". Now everybody has a problem.
A programmer had a problem. He thought "I know, I'll create an API". Now everybody has a problem.
玩了 John Resig 提到的 Stream-Adventure ,在 HTML-Stream 关卡中,根据题目提示写出了代码
var through = require('through')
, trumpet = require('trumpet')
function upper(buf) {
this.queue(buf.toString().toUpperCase())
}
var tr = trumpet()
process.stdin.pipe(tr).pipe(process.stdout)
var stream = tr.select('.loud').createStream()
stream.pipe(through(upper)).pipe(stream)
虽然写出来了,但其实我还是混淆着 tr 和 steam 流。
最后在 nodeschool 的讨论中得到了比较好启发。
试着整理一下自己的表述:
这里很明显是有两条流 tr 和 steam ,之前混淆他们的关系,所以一直不能理解。
tr 是主流,输入流入 tr 最后流到输出
stream 流是在 tr 内部发生的,tr 会尝试找到 loud
类的内容,然后创建流 stream ,流向 through 改变大小写,最后流回 stream 覆盖原来的内容。
评论没有加载,检查你的局域网
Cannot load comments. Check you network.