如何创建一个像/dev/something
文件一样反应的"侦听器",并且所有重定向到它的输入(如:cat /text.txt > /dev/something
)都将被Ruby程序读取?
在我眼里,它看起来像
dev = Device.new(/dev/something)
while dev.gets do
...
....
.....
end
你想要的是
套接字或命名管道。检查哪一个适合您的应用。
在我看来,最简单的方法是这样的:
ARGF.each_with_index do |line, index|
puts "#{index}: #{line}"
end
在控制台中,键入type stdin_read1.rb | stdin_read1.rb
其中第一个文件可以是任何文本文件。
这是 Windows 语法,但我看到您对控制台部分没有问题,我想cat
是 Linux 等效的。
你可以只使用each
,我用each_with_index
来演示文本不仅仅是管道。