----Next_Part(Sun_Oct__9_12:21:24_2005_798)-- Content-Type: Multipart/Mixed; boundary -Next_Part(Sun_Oct__9_12:21:24_2005_798)--" ----Next_Part(Sun_Oct__9_12:21:24_2005_798)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 滝沢といいます. Rinda::TupleSpaceでHashタプルを使いたいのですが,うまく行か ない点があります. やりたいことは,別プロセスで動作するタプルスペースに,dumpで きないオブジェクトをwriteすることです. 添付したファイルを使い,以下のことを行いました. (1) ひとつめのターミナルで,タプルスペースを公開. terminal1% ruby tuplespace.rb (2) 別のターミナルで,別プロセスのタプルスペースにdumpできな いオブジェクトをwrite. terminal2% ruby foo.rb 上記のように実行したときに,terminal1では以下のような結果に なります. terminal1% ruby tuplespace.rb druby://localhost:12345 [] [] [] terminal1では,foo.rbでwriteしたタプルがされて欲しいので すが,上記のようにタプルスペースにマッチするタプルが置かれて いません. Rubyのバージョンは1.8.2,dRubyのバージョンは,2.0.4です. 使い方が悪いのでしょうか?よろしくお願いします. ----Next_Part(Sun_Oct__9_12:21:24_2005_798)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="tuplespace.rb" #!/usr/bin/env ruby require 'rinda/tuplespace' ts inda::TupleSpace.new ts_uri druby://localhost:12345' DRb.start_service(ts_uri, ts) puts DRb.uri loop do p ts.read_all({"label" "foo", "foo" nil}) sleep 3 end ----Next_Part(Sun_Oct__9_12:21:24_2005_798)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="foo.rb" #!/usr/bin/env ruby require 'drb/drb' class Foo include DRbUndumped end foo oo.new DRb.start_service ts RbObject.new_with_uri('druby://localhost:12345') ts.write({ "label" "foo", "foo" foo }) DRb.thread.join ----Next_Part(Sun_Oct__9_12:21:24_2005_798)---- ----Next_Part(Sun_Oct__9_12:21:24_2005_798)----