Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby-PTY-spawn方法_Ruby_Spawn_Pty - Fatal编程技术网

ruby-PTY-spawn方法

ruby-PTY-spawn方法,ruby,spawn,pty,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

我使用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:notfound”

有人能告诉我为什么我会犯这个错误吗


提前感谢

发生此错误是因为您试图直接从终端执行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