• ベストアンサー

Rubyから外部プログラムを実行し、その出力を..

Rubyから外部プログラムを実行し、その出力を受け取り、加工したいのですがよくわかりません。 stdin, stdout, stderr = win32-open3.popen3("XXX.exe") とすれば何とかいけそうなんですが、win32-open3が今は使われていないようです。 他に代わるものがあるのでしょうか? ちなみに、Rubyのバージョンは1.8.7です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは ruby 1.9.3では以下で動いているようですけれども たしか1.8.7では上手く動かなかった記憶が……" --- # coding: Windows-31J require 'open3' Open3.popen3("dir") do |stdin, stdout, stderr| #stderr.close #stdin.puts "foobarbaz" #stdin.close str = stdout.read puts str end --- 標準入力だけで良いのであれば以下は如何でしょうか ----- str = `dir` # dirの両側はバッククオート(shift+@)です。 puts str -----

kihonkana
質問者

お礼

いつもありがとうございます。 バッククオートを使ってうまくいきました。

関連するQ&A