ブロックを与えた場合も生成したモジュールを返します。最初に名前が必要になったときに名前が決定します。モジュールの名前は、そのモジュールが代入されている定数名のいずれかです。引数としてモジュールのコンテキストで評価します。引数としてモジュールのコンテキストで評価します。そのモジュールの定義式の中にあるかのように実行されます。ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。ブロックに渡す引数を指定します。評価してその結果を返します。モジュール自身をブロックパラメータとするブロックを評価してその結果を返します。そのモジュールの定義式の中にあるかのように実行されます。外側のスコープと共有します。文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。評価してその結果を返します。モジュール自身をブロックパラメータとするブロックを評価してその結果を返します。そのモジュールの定義式の中にあるかのように実行されます。外側のスコープと共有します。文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。そのオブジェクトを生成したコンテキストで文字列を評価します。プログラムとして評価してその結果を返します。オブジェクトを与えた場合、そのオブジェクトを生成したコンテキストで文字列を評価します。中のローカル変数の扱いはブロックの場合と同じです。実行後にブロック外に持ち出せます。書かれているかのようにコンパイルされます。スタックトレースの表示などを差し替えることができます。そのオブジェクトを生成したコンテキストで文字列を評価します。プログラムとして評価してその結果を返します。オブジェクトを与えた場合、そのオブジェクトを生成したコンテキストで文字列を評価します。中のローカル変数の扱いはブロックの場合と同じです。実行後にブロック外に持ち出せます。書かれているかのようにコンパイルされます。スタックトレースの表示などを差し替えることができます。評価してその結果を返します。オブジェクト自身をブロックパラメータとするブロックを評価してその結果を返します。そのオブジェクトにして実行するということです。ブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。評価してその結果を返します。オブジェクト自身をブロックパラメータとするブロックを評価してその結果を返します。そのオブジェクトにして実行するということです。ブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。サブクラスを生成します。サブクラスを生成します。索し、見つかった定数名をクラス名とします。サブクラスを生成します。サブクラスを生成します。索し、見つかった定数名をクラス名とします。