require 'druby3' class Bar attr_reader :i def initialize(i) @i = i end end class Foo < Bar # Initialize @i to 0 def initialize(druby) super(0) @druby = druby end # Set @i def foo(i) @i = i end # Return a reference to a new Bar object with Bar.i = @i + 1 def bar() b = Bar.new(@i + 1) obj = @druby.create_reference(b) return obj end # Test iteration def each() yield 1 yield 2 yield 3 end # Test exception def throw_exception() raise RuntimeError end end server = DRuby::Server.new('localhost', '4242') f = Foo.new(server) server.bind(f, "foo") server.thread.join