• 締切済み

ScilabのRUBYインターフェース

Scilabを外部言語、とりわけRUBYから制御したいと思っています。 ScilabのAPIはあるようですが、検索してもRUBYの情報は得られませんでした。 (R言語などはRUBYでもOKのようですね。) もし何らかの手法をご存知の方がおられましたらご教授お願いします。

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

ANo.1の続きですが rsrubyには少し癖があり、rubyが対応していないデータタイプを使う時には多少手こずります。 多分ご存知だと思いますが、rubyの行列計算には narrayというライブラリがあります。標準で添付されているmatrixより大規模な計算を高速でやってくれます。 またこれで足りない場合は、Ruby/GSLを時々使っています。 (いずれもrubygemsでインストール可) この2つで解決できない場合とグラフを書く時にrsrubyでRをという使い分けをしています。 ご参考に

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

既製のものは多分無いと思います。 APIはCで書かれているようなので、SWIGを使えば多分Rubyから利用できるようになります。 http://www.swig.org/ できあがるものは、CのインターフェースをそのままRubyに置き換えたものですので、なんとかCを使わずにRubyから使えるというものです。 classなどを定義し、自分が使う機能のメソッドを追加するとそれなりに使いやすくはなります。 私自身はRを呼び出すrsrubyをよく使っています。Rは複雑で分かりにくいので、Rubyをメインの言語にし、必要に応じて統計計算やグラフ作成にRの機能を使っています。 統計計算は、Rubyで書くより高速なのと、多くの種類がライブラリとして提供されているので使っています。またグラフについても同様です。

dsIImaster
質問者

お礼

ki073さま、ご回答ありがとうございます。 やはりありませんか・・・。 SWIGは聞いたことはありましたが、Wrapperを自作するのは負担が大きいので ちょっと避けたいです。 >私自身はRを呼び出すrsrubyをよく使っています。Rは複雑で分かりにくいので、Rubyをメイン >の言語にし、必要に応じて統計計算やグラフ作成にRの機能を使っています。 なるほど。 私もScilabにこだわらず、RでできることはRに移行したほうが何かと便利そうですね。 とても参考になりました。ありがとうございました。

関連するQ&A