contents
  1. Management API
    1. RubyVM.new(*args)
    2. RubyVM#run()
    3. RubyVM#start()
    4. RubyVM#current()
    5. Note: RubyVM Constant
  2. Communication API
    1. RubyVM#<<(obj)
    2. RubyVM#pop()

Ruby Level API

Management API

RubyVM.new(*args)

Create VM Instance with passed "options".

"args" parameter means passed parameters which is same as "argc" and "argv" parameter of ruby_vm_new(). They should be String objects.

If args[-1] is Hash object, it's includes details which is specified by ruby_vm_init_*().

 # Example of VM creation
 vm = RubyVM.new("arg1 arg2",
                 script: "foo.rb"
                 verbose: true,
                 libary_path: "./lib",
                 stdin: STDIN,
                 stdout: STDOUT,
                 stderr: STDERR)

RubyVM#run()

Same as ruby_vm_run().

RubyVM#start()

Same as ruby_vm_start().

RubyVM#current()

Returns current VM object.

Note: RubyVM Constant

The name "RubyVM" seems verbose. This name will be renamed if other good name is proposed.

Communication API

This is based on Rubinius API.

RubyVM#<<(obj)

Send "obj" to VM queue. "obj" should be enable to marshal.

RubyVM#pop()

Receive object sent by other VMs.

Last modified: 2008-12-24