我正在使用Ruby 处理库。
我想将程序的输出通过管道传输到我的代码中。例如,echo "hello" | rp5 run receiver.rb
。
在一个正常的程序中,我知道我可以做到这一点
while $stdin.gets
puts $_
puts "Receiving!"
end
而且我知道在处理过程中,程序会draw
不断地循环函数。所以我尝试了这段代码,但它不起作用,因为它冻结在线上puts $stdin.gets
。所以我知道这一定是管道不匹配的问题,所以我将尝试使用命名管道,以免造成混淆。
def setup
puts "setting up"
end
def draw
puts "drawing"
puts $stdin
puts $stdin.gets
puts "after gets"
while $stdin.gets
puts $_
puts "Receiving!"
end
puts "done drawing"
end
任何建议将不胜感激。我正在运行 Ubuntu 12.04。