From: "金光雅夫 (KANEMITSU Masao)" Date: 2002-11-10T14:11:36+09:00 Subject: [ruby-list:36427] flyweightパターン(dRuby) --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit 金光です。どもっ。 できるだけ単純化し、dRuby本の素のままにしてみました。 まず、サーバ(fwid_srv.rb)を走らせておき、次に クライアント(fwid_c.rb)を走らせると、何も表示されずとまります。 fwid_c.rbは以下のようになっています。ほかのものも添付。 ────────────────────────────────────── require 'drb/drb' require 'Nenga-uri' db = DRbObject.new(nil, Nenga::URI) atesaki = db['2003'] p atesaki['Web'] atesaki['Web'] = "http://foo/bar/" p atesaki['Web'] puts '[Enter] to continue' p atesaki['Web'] atesaki['Web'] = "http://foo/bar/" p atesaki['Web'] ────────────────────────────────────── これらの p のどれも実行されていないように見えます。 putsもされてないです。 もうこれ以上ないといっていいほどdRuby本のとおりに縮退させてあるので、これで 動かないのはなぜだか教えていただければ幸いです。(_ _) M.Kanemitsu ——————————————— 金光雅夫 masao-k@a-net.email.ne.jp http://www.masao-k.net http://isweb14.infoseek.co.jp/art/soshikon/ http://isweb15.infoseek.co.jp/computer/ruby256/ http://www.masao-k.net/tDiary/ http://www.masao-k.net/RubyBook/ 〒216-0031 川崎市宮前区神木本町5-14-12 自宅: 044-877-5006 携帯: 090-2753-5292 -- "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fwid_srv.rb" Content-Disposition: attachment; filename="fwid_srv.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZmx5YXdheScNCnJlcXVpcmUgJ2RyYi9kcmInDQpyZXF1aXJlICdmd19wc19uZW5n YScNCnJlcXVpcmUgJ2Z3aWRjb252Jw0KcmVxdWlyZSAnTmVuZ2EtdXJpJw0KDQpjbGFzcyBOZW5n YQ0KICBpbmNsdWRlIERSYlVuZHVtcGVkDQogIGluY2x1ZGUgRldJZE1vZA0KZW5kDQoNCmNsYXNz IEZyb250DQogIGRlZiBbXShrZXkpDQogICAgcmV0dXJuIE5lbmdhW2tleV0NCiAgZW5kDQplbmQN Cg0KRFJiLmluc3RhbGxfaWRfY29udihGV0lkQ29udi5uZXcpDQoNCkRSYi5zdGFydF9zZXJ2aWNl KE5lbmdhOjpVUkksIEZyb250Lm5ldykNCnB1dHMgJ1tFbnRlcl0gdG8gZXhpdCcNCmdldHMNCg== --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fwidconv.rb" Content-Disposition: attachment; filename="fwidconv.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZHJiL2RyYicNCg0KbW9kdWxlIEZXSWRNb2QNCiAgZGVmIHNlbGYuYXBwZW5kX2Zl YXR1cmVzKG1vZCkNCiAgICBzdXBlcg0KICAgIEZXSWRDb252LmFkZF9jbGFzcyhtb2QpDQogIGVu ZA0KICANCiAgZGVmIGluaXRpYWxpemUoKmFyZ3MpDQogICAgTWFyc2hhbC5kdW1wKGFyZ3MpDQog ICAgc3VwZXINCiAgZW5kDQogIA0KICBkZWYgdG9faWQNCiAgICBbc2VsZi50eXBlLnRvX3MsIEBm d19hcmddDQogIGVuZA0KZW5kDQoNCmNsYXNzIEZXSWRDb252IDwgRFJiOjpEUmJJZENvbnYNCiAg QEBrbGFzcyA9IHt9DQogIA0KICBkZWYgc2VsZi5hZGRfY2xhc3MobW9kKQ0KICAgIEBAa2xhc3Nb bW9kLnRvX3NdID0gbW9kDQogIGVuZA0KICANCiAgZGVmIHRvX2lkKG9iaikNCiAgICByZXR1cm4g b2JqLnRvX2lkIGlmIG9iai5raW5kX29mPyBGV0lkTW9kDQogICAgc3VwZXIob2JqKQ0KICBlbmQN CiAgDQogIGRlZiB0b19vYmoocmVmKQ0KICAgIGlmIEFycmF5ID09PSByZWYgJiYgcmVmLnNpemUg PT0gMg0KICAgICAga2xhc3MgPSBAQGtsYXNzW3JlZlswXV0NCiAgICAgIGFyZ3MgPSByZWZbMV0N CiAgICAgIHJldHVybiBrbGFzc1sqYXJnc10NCiAgICBlbmQNCiAgICBzdXBlcihyZWYpDQogIGVu ZA0KZW5kDQo= --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="Nenga-uri.rb" Content-Disposition: attachment; filename="Nenga-uri.rb" Content-Transfer-Encoding: base64 Y2xhc3MgTmVuZ2ENCiAgVVJJID0gImRydWJ5Oi8vbG9jYWxob3N0OjEzMTEwIg0KZW5kDQoNCnJl cXVpcmUgJ2RyYi9kcmInDQpEUmI6OnN0YXJ0X3NlcnZpY2UNCg== --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="flyaway.rb" Content-Disposition: attachment; filename="flyaway.rb" Content-Transfer-Encoding: base64 bW9kdWxlIEZseXdlaWdodEZhY3RvcnkNCiAgZGVmIEZseXdlaWdodEZhY3RvcnkuYXBwZW5kX2Zl YXR1cmVzKG1vZCkNCiAgICBzdXBlcg0KICAgIG1vZC5wcml2YXRlX2NsYXNzX21ldGhvZCA6bmV3 DQogICAgbW9kLmNvbnN0X3NldCgiRldfVEFCTEUiLCB7fSkNCiAgICANCiAgICBkZWYgbW9kLltd KCphcmcpDQogICAgICBrZXkgPSAoYXJnLnNpemUgPT0gMSApID8gYXJnWzBdIDogYXJnDQogICAg ICBfX29sZF9zdGF0dXMgPSBUaHJlYWQuY3JpdGljYWwNCiAgICAgIGJlZ2luDQogICAgICAgIFRo cmVhZC5jcml0aWNhbCA9IHRydWUNCiAgICAgICAgcmV0dXJuIHNlbGY6OkZXX1RBQkxFW2tleV0g fHwgc2VsZjo6RldfVEFCTEVba2V5XSA9IG5ldygqYXJnKQ0KICAgICAgZW5zdXJlDQogICAgICAg IFRocmVhZC5jcml0aWNhbCA9IF9fb2xkX3N0YXR1cw0KICAgICAgZW5kDQogICAgZW5kDQogICAg DQogICAgZGVmIG1vZC5fbG9hZChzKQ0KICAgICAgc2VsZlsqTWFyc2hhbC5sb2FkKHMpXQ0KICAg IGVuZA0KICBlbmQNCiAgDQogIHByaXZhdGUNCiAgZGVmIGluaXRpYWxpemUoKmFyZykNCiAgICBA ZndfYXJnPSBhcmcNCiAgZW5kDQogIA0KICBkZWYgX2R1bXAocG9ydCkNCiAgICBNYXJzaGFsLmR1 bXAoQGZ3X2FyZywgcG9ydCkNCiAgZW5kDQplbmQNCg== --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fw_ps_nenga.rb" Content-Disposition: attachment; filename="fw_ps_nenga.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZmx5YXdheScNCnJlcXVpcmUgJ3BzdG9yZScNCg0KY2xhc3MgTmVuZ2ENCiAgaW5j bHVkZSBGbHl3ZWlnaHRGYWN0b3J5DQogIA0KICBAQGRiID0gUFN0b3JlLm5ldygiYzovbmVuZ2Ei KQ0KICANCiAgZGVmIGluaXRpYWxpemUobmVuZG8pICAjIJROk3gNCiAgICBzdXBlcihuZW5kbykN CiAgICBAbmVuZG8gPSBuZW5kbw0KICAgIA0KICAgIEBAZGIudHJhbnNhY3Rpb24gZG8NCiAgICAg IHVubGVzcyBAQGRiLnJvb3Q/KG5lbmRvKQ0KICAgICAgICBAQGRiW25lbmRvXSA9IFtdDQogICAg ICBlbmQNCiAgICAgIEB2YWx1ZSA9IEBAZGJbbmVuZG9dDQogICAgICBAQGRiLmNvbW1pdA0KICAg IGVuZA0KICBlbmQNCiAgDQogIGRlZiBbXShrKQ0KICAgIEBAZGIudHJhbnNhY3Rpb24gZG8NCiAg ICAgIEB2YWx1ZVtrXQ0KICAgIGVuZA0KICBlbmQNCiAgDQogIGRlZiBbXT0oaywgdikNCiAgICBA QGRiLnRyYW5zYWN0aW9uIGRvDQogICAgICBAdmFsdWVba10gPSB2DQogICAgICBAQGRiLmNvbW1p dA0KICAgIGVuZA0KICBlbmQNCmVuZA0KDQoNCmlmIF9fRklMRV9fID09ICQwDQogIGF0ZW5hID0g TmVuZ2FbJzIwMDMnXQ0KICBwIGF0ZW5hWydydWJ5J10NCiAgYXRlbmFbJ3J1YnknXSA9ICcxLjYu MycNCiAgcCBhdGVuYVsncnVieSddDQogIHAgTmVuZ2FbJzIwMDMnXVsncnVieSddDQogIHAgW2F0 ZW5hLmlkLCBOZW5nYVsnMjAwMyddLmlkXQ0KZW5kDQo= --------_3DCDE91D68C30409D508_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fwid_c.rb" Content-Disposition: attachment; filename="fwid_c.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZHJiL2RyYicNCnJlcXVpcmUgJ05lbmdhLXVyaScNCg0KZGIgPSBEUmJPYmplY3Qu bmV3KG5pbCwgTmVuZ2E6OlVSSSkNCmF0ZXNha2kgPSBkYlsnMjAwMyddDQoNCnAgYXRlc2FraVsn V2ViJ10NCmF0ZXNha2lbJ1dlYiddID0gImh0dHA6Ly9mb28vYmFyLyINCnAgYXRlc2FraVsnV2Vi J10NCg0KcHV0cyAnW0VudGVyXSB0byBjb250aW51ZScNCg0KcCBhdGVzYWtpWydXZWInXQ0KYXRl c2FraVsnV2ViJ10gPSAiaHR0cDovL2Zvby9iYXIvIg0KcCBhdGVzYWtpWydXZWInXQ0K --------_3DCDE91D68C30409D508_MULTIPART_MIXED_--