MRIで作成したバッチプログラムを他の言語で使用したい

このQ&Aのポイント
  • MRI(Ruby1.8系環境)で作成したバッチプログラムをDLLにして他の言語で使用する方法について教えてください。
  • 実装では、パラメータを渡して叩けるのが理想ですが、中間ファイルを使用する方法でもかまいません。呼び出し側から雛型を参照する場面も想定しています。
  • 可能かどうか、および可能であればどのような手段を取り得るかについて、ご教示いただけると幸いです。
回答を見る
  • ベストアンサー

MRIで作成したプログラムのDLLを作成し、多言語で使用したい

お世話になっております。 MRI(Ruby1.8系環境)で作成し単体テストまで完了したCUI帳票を出力するバッチプログラムを、 DLLにして他の言語で組まれたプログラム(今回の場合であればjava)で使用したいと考えます。 尚、Ruby側で行う事はタイミングを重要としない最終ファイル出力処理と、 それに付帯するヒアドキュメントによる雛型定義と文字列処理程度なので、呼び出し側と密な関係を持つ必要はありません。 可能であればパラメータを渡して叩けるのが理想ですが、不可能であれば中間ファイルを使用する実装でもかまいません。 (ただし、雛型だけを呼び出し側から直接参照する場面も想定されたい) 可能かどうか、可能であればどのような手段を取り得るか、といった辺りをご教示いただければ幸いです。 以上です。よろしくお願いします。

  • Ruby
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

>呼び出し側と密な関係を持つ必要はありません。 なら、DLLにする必要ないのでは。 クラスProcessBuilderとかで、外部プログラムとして実行すればよいような。 http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/ProcessBuilder.html あるいは、JRubyを組み込んでみるとか。 http://jruby.org/

miyajima24
質問者

お礼

お世話になっております。 要件を整理してみて、exeで問題ない事がわかりましたので、exeで実行する事になりました。 お礼が遅くなり、申し訳ありません。 また、模索の過程でプロパティファイルの利用等、Javaで実装する際の勉強もできました。(それが正しい使い方はどうかは別として) 一つの方法に固執せず広い視野で考えていけるよう、精進していきます。 ありがとうございました。

関連するQ&A

  • C言語でプログラムを作成しなさい!といわれたんですが...

    ◎プログラム仕様 C言語を使用 入力ファイルから1レコードを入力する。改行マークまで入力する。 2番目の「:」以前のデータを有効とする。 2番目の「:」からは、不要です。 出力ファイルへ出力する。 この処理を最終レコードまで行う。 処理の例 yoneko:ksgtgsmbnisysbnka:sjkmakshs7s:sksksk99jjs: 入力データ yoneko:ksgtgsmbnisysbnka                出力データ 入力ファイル名・出力ファイル名は、任意に指定できるものとする。 入力ファイルの1レコード当たりの最大バイト数は、100バイトします。 それぞれの処理でエラーが発生した場合は、エラーの表示を行う。 を依頼されました。 まったく意味が分りません。 わかりやすく説明していたでけないでしょうか。 C言語、自体わかりません。

  • C#で書かれたプログラムをバッチ処理

    C#で書かれたプログラムをバッチ処理を行いたいのですが,方法があまり良く分かりません. まずC#で書かれたプログラムを起動すると, 処理したいファイル名を入力するテキストボックススと, パラメータを入力するテキストボックスが表示されて, ボタンを押すと処理が始まります. 処理したいファイルが数百あるので,バッチ処理でできないものかと考えているのですが, どのようにC#のプログラムに引数を渡して処理させればいいのか分かりません. 理想としては,コマンドプロンプトから,各種値が入ったテキストファイルなんかを読み込ませて処理できればよいのですが... 十分伝えきれているのか不安ですが,宜しくお願い致します.

  • Javaプログラムからバッチ起動

    Runtimeクラスを使用し、バッチファイルをJavaプログラム内で呼び出す処理を実装しました。Javaにより呼び出されるバッチファイル(X.bat)は、他の2つのバッチファイル(A.bat、B.bat)を呼び出すようにプログラムされています。ここで質問なのですが、実際にこのJavaプログラムを実行しX.batを呼び出し、最終的にA.bat、B.batが呼ばれているかどうかの確認をしたところ、どうもB.batが呼ばれずにA.bat終了後、処理が終了してしまっているなのですが、この原因についてご教授いただきたく質問いたしました。

    • ベストアンサー
    • Java
  • rubyでプログラムを作っていますがうまくいきません。

    rubyでプログラムを作っています。 予想通りの動きができないです。 常駐ソフトを起動したり終了したりするプログラムをrubyで作りたいと思っています。 バッチファイルで作れば問題ないのですが、今回のプログラムを他で作っているrubyのプログラムに使いたいからrubyで作りたいんです。 そこでとりあえずrubyでソフトを起動したり終了したりする小さいプログラムを作って試しています。 ですが全然ひらめかないのでぜひご教授をお願いします。 利用環境 Windows XP Home Edition Cygwinをインストールしrubyを実行しています。

  • UNIX系のシステムでカーソル選択のできるCUIプログラム

    UNIX系のシステムでカーソル選択のできるCUIプログラム UNIX系のOS一般で使えるCUIのプログラムの実装について知識が無いので質問します。 シェルスクリプト、C言語などで、数値計算する類のものは問題無く作れますが、 画面表示を行なって、それをカーソルで選択するようなインタフェースを持ったプログラムはどのように作れば良いのか知りたいと考えています。 例えば"A B C"とか表示して、選択しているものが白黒反転、 カーソル選択後エンターで選択して次の処理に移るようなものです。 ただ、出力して行くのはできるのですが、一つの画面を更新するような処理はどのように実装するのでしょうか。 シェルスクリプトが一番いいですが、JAVAなどでもとりあえず実現できれば構いませんのでサンプルになるようなプログラム、ページ、関数などあれば教えて下さい。

  • プログラムファイルの保存先

    こんにちは。現在Rubyの学習中です。Rubyに限らずプログラムに関しての質問なのですが、ファイルを保存する場所によって処理速度は変わるのでしょうか。 CドライブにOSが入っていると知りました。Rubyのプログラムを動かすには、Ruby本体とプログラムファイルが必要ですが、これら二つはやはりDドライブよりもCドライブに保存した方が処理速度は速いのでしょうか。よろしくお願いします。

    • ベストアンサー
    • Ruby
  • プログラムの中で別のプログラムを使用したい

    Ruby初心者です。 a.rbというプログラムを a.rb file1.txt file2.txt 以下のように使っています。このa.rbを別のプログラム内で使用したいのですが、こういった場合、どのように書けばいいのでしょうか。requireかloadかと思ったのですが、この場合、file1.txtやfile2.txtの書き方がよく分かりません。 よろしくお願いいたします。

  • プログラムのパラメータ

    よくプログラムを起動するときに test.exe /d のようにファイル名のあとにパラメータをつけて任意の処理をさせますが そのプログラムのパラメータの宣言コマンドの一覧を収得する方法はありますか?

  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • カレンダー作成について質問です。

    初めましてGANJISと申します。 今Javaの勉強をしていて課題でカレンダーを作っているのですが、 解らなくて困っているので助けてください。 どういったカレンダーを作りたいかというと、 ・パラメータから年・月を受け取り、 その「前月」「当月」「次月」の3ヶ月をコンソールに 出力するカレンダーを作成する。 (要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する) 条件として、 ・パラメータチェックメソッドを実装すること。 ただし、同メソッド内にtry/catch句を記述してはいけない。 (自前で数値チェックを実装する) ・mainメソッドはControllerとしてのみ使用すること。 (実際の作成/出力処理は別メソッドに実装すること) 一番最初に私が作ったカレンダーのソースを載せたいのですが、文字数制限に掛かりますので断念しました。 何卒みなさんの知恵を与えてください。 よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう