ruby PTY spawn方法

时间:2014-07-07 10:51:53

标签: ruby spawn pty

我使用PTY.spawn使用gem“roo”打开Excel文件,但它只显示错误

INPUT_FILE = 'sample.xls'

begin
    PTY.spawn("Roo::Spreadsheet.open '#{INPUT_FILE}'") do |r_f,w_f,pid|
        r_f.each {|line| puts line}
    end
rescue Errno::EIO  
end

但我收到错误:“sh:1:Roo :: Spreadsheet.open:not found”

有人能告诉我为什么会收到此错误吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

发生此错误是因为您尝试直接从终端执行ruby代码,在您的情况下尝试类似:

PTY.spawn("irb") do |irb_out, irb_in, pid|
  irb_in.printf("require 'roo'\n")
  irb_in.printf("Roo::Spreadsheet.open '#{INPUT_FILE}'\n")  

  irb_out.each {|line| puts line}
end