Exerb Project
ようこそ > チュートリアル

# チュートリアル

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

## 目次

1. 1ステップ生成
   1. Rubyスクリプトの準備
   2. Rubyスクリプトの動作確認
   3. 実行ファイルの生成
   4. 実行ファイルの動作確認
2. レシピファイルによる生成
   1. Rubyスクリプトの準備
   2. Rubyスクリプトの動作確認
   3. レシピファイルの準備
   4. 実行ファイルの生成
   5. 実行ファイルの動作確認

## 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!