如何創建一個「監聽器」,將像一個/dev/something
文件反應,所有的輸入重定向到它(如:cat /text.txt > /dev/something
)將由Ruby程序讀取?如何實現在Ruby中的/ dev /監聽器?
在我的眼裏,它看起來像
dev = Device.new(/dev/something)
while dev.gets do
...
....
.....
end
如何創建一個「監聽器」,將像一個/dev/something
文件反應,所有的輸入重定向到它(如:cat /text.txt > /dev/something
)將由Ruby程序讀取?如何實現在Ruby中的/ dev /監聽器?
在我的眼裏,它看起來像
dev = Device.new(/dev/something)
while dev.gets do
...
....
.....
end
你想要的是socket或named pipe。檢查哪一個將是適合你的應用。
我認爲要做到這一點最簡單的方法是這樣的:
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
來演示文本不僅僅是管道。