チュートリアル

Exerbを使用して、Rubyスクリプトを実行ファイルに変換する簡単な例を紹介します。

目次

1.1ステップ生成

バージョン4.0.0より、新しく追加された機能です。単一のRubyスクリプトファイルであれば、レシピファイルを作成せずに1ステップで実行ファイルに変換することができます。

1.Rubyスクリプトの準備

実行ファイルに変換したいRubyスクリプトを準備します。 ここでは「Hello!」というメッセージを出力するhello.rbを例として用います。 内容は下記の通りです。

puts "Hello!"

2.Rubyスクリプトの動作確認

Exerbで実行ファイルに変換する前に、MSVCRT32版Rubyで実行できることを確認します。 エラーが発生した場合は、エラーメッセージを参照し、Rubyスクリプトを修正してください。

$ ruby hello.rb
Hello!

動作確認は必ず行ってください。 また、可能な限り、Exerbコアに含まれるRubyインタプリタと同一バージョンのRubyを使用してください。

3.実行ファイルの生成

exerbコマンドを実行して、実行ファイルに変換します。 正常に変換できれば、何も画面に出力されずに終了します。

$ exerb hello.rb

4.実行ファイルの動作確認

生成された実行ファイルを実行します。 「Hello!」と表示されれば成功です。

$ hello.exe
Hello!

2.レシピファイルによる生成

通常使用する実行ファイルへの変換方法です。

1.Rubyスクリプトの準備

1ステップ生成の場合と同様に、実行ファイルに変換したいRubyスクリプトを準備します。 ここでは「Hello!」というメッセージを出力するhelloメソッドが定義されたhello_def.rbと、helloメソッドを呼び出すhello_call.rbを例として使用します。 hello_def.rbの内容は下記の通りです。

def hello()
  puts "Hello!"
end

hello_call.rbの内容は下記の通りです。

require "hello_def"
hello()

2.Rubyスクリプトの動作確認

Exerbで実行ファイルに変換する前に、MSVCRT32版Rubyで実行できることを確認します。 エラーが発生した場合は、エラーメッセージを参照し、Rubyスクリプトを修正してください。

$ ruby hello_call.rb
Hello!

動作確認は必ず行ってください。 また、可能な限り、Exerbコアに含まれるRubyインタプリタと同一バージョンのRubyを使用してください。

3.レシピファイルの準備

レシピファイルを準備します。 ここではシンプルなレシピファイルであるhello_call.exyを例として用います。 内容は下記の通りです。

general:
  startup: hello_call.rb
file:
  hello_call.rb:
  hello_def.rb:

なお、レシピファイルは自動生成することもできます。 下記のいずれかを実行すると、指定されたスクリプトが実行されたあと、終了時にレシピファイルが生成されます。

$ ruby -r exerb/mkexy hello_call.rb
Hello!

$ mkexy hello_call.rb
Hello!

4.実行ファイルの生成

exerbコマンドを実行して、実行ファイルに変換します。 エラーが発生した場合は、エラーメッセージを参照し、レシピファイルを修正してください。

$ exerb hello_call.exy

5.実行ファイルの動作確認

生成された実行ファイルを実行します。 「Hello!」と表示されれば成功です。

$ hello_call.exe
Hello!