IO.popenでCLIツールを楽々操作できます。
わざわざパイプで繋がなくとも、対象を引数として与えればサブプロセスとしてやってくれます。
require "gnuplot"
IO.popen("gnuplot","r+") do |io|
io.puts <<EOS
set terminal png
set output "gnuplot.png"
plot sin(x)
EOS
end
結果
$ ruby popen_gnuplot.rb
$ open gnuplot.png
とやれば
という結果を得ます。
まとめ
上の例ではgnuplotを使いましたが、R言語でもお手製シミュレータでも同様にIO.popenで制御できます。