Ruby 逆引きハンドビックについて質問させてください。
section296の「他のRubyスクリプトと通信する」というところのサンプルプログラムですが
windows xpでruby1.8.6環境で動かしてみました。
最初にdRuby サーバーをDOS窓から起動し、次に別のDOS窓からクライアントを動かします。
サーバーは何も出力しないのは本のとおりですが、クライアントも何も出力しません。
これは、なにか問題があるのでしょうか?
サンプルのスクリプトをちなみに下に書いておきます。
#Rubyサーバ
require 'drb'
class Front
def add(a,b)
a+b
end
def current_time
Time.now
end
def make_hash(value)
{:value=>value}
end
end
DRb.start_service("druby://
127.0.0.1:3459",Front.new)
gets
#Rubyクライアント
require 'drb'
p 'start client'
remote=DRbObject.new_with_uri "druby://
127.0.0.1:3459"
p remote.add(1,3)
p remote.current_time
ClientObject=Struct.new :a
co=ClientObject.new 8
p remote.make_hash(co)
関数呼び出しの結果を表示するのにpを加えてます。
中江