From: Jay McGavren Date: 2007-07-30T08:40:45+09:00 Subject: Append (<<) to Array attributes of DRb objects? When working locally with an object whose attribute is meant to store an array, I have no problem making calls like: object.items << new_item If I try to do the same thing with a DRb object, though, appending has no effect on the remote object. I've distilled the problem down to this example... My server: require 'drb' class TestServer attr_accessor :items def initialize @items = [] end def add_item(item) @items << item end def add sum = 0 @items.each {|item| sum += item} sum end end server = TestServer.new DRb.start_service('druby://localhost:9000', server) DRb.thread.join My client: require 'drb' DRb.start_service() obj = DRbObject.new(nil, 'druby://localhost:9000') obj.items << 1 #No effect. obj.items << 2 #No effect. items = [1, 2] obj.items = items #Works. obj.add_item(1) #Works. obj.add_item(2) #Works. puts obj.add #Gives '6' instead of '9'. I'd rather my client programs be able to use append (<<) instead of an add_item(item) method or direct assignment. How can I do this?