我正在使用Ruby processing library .
我想将程序的输出通过管道传输到我的代码中。例如,echo "hello"| rp5 运行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。
最佳答案
是的,名称管道起作用了。查看this example帮助您入门并确保您已加载最新版本的 JRuby。
关于ruby - 将程序的输出获取到 Ruby 处理中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010037/