如何在 Ruby 中实现 /dev/listener 设备



如何创建一个像/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来演示文本不仅仅是管道。

相关内容

最新更新