Метод спавна ruby ​​PTY

Я использовал PTY.spawn, чтобы открыть файл Excel с помощью драгоценного камня «roo», но он показывает только ошибки

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: не найдено»

Может ли кто-нибудь сказать мне, почему я получаю эту ошибку?

заранее спасибо


person Siva KB    schedule 07.07.2014    source источник


Ответы (1)


Эта ошибка возникает из-за того, что вы пытаетесь выполнить код 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
person railscard    schedule 07.07.2014