Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 你是一个女孩吗?和德鲁比物体_Ruby_Drb_Druby - Fatal编程技术网

Ruby 你是一个女孩吗?和德鲁比物体

Ruby 你是一个女孩吗?和德鲁比物体,ruby,drb,druby,Ruby,Drb,Druby,我正在使用dRuby,基本上我正在调用一个远程方法,该方法返回一个对象 在客户端中,我有以下代码: handle_error(response) if response.is_a?(Error) 其中response是DRbObject。(我在使用dRuby之前开发了这段代码,如果出现问题,我将返回一个错误对象)。问题是现在 response.is_a?(Error) 返回“false”,因为该对象实际上是一个DRbObject。 知道如何检查应用程序对象的类吗 谢谢! Roberto虽然我

我正在使用dRuby,基本上我正在调用一个远程方法,该方法返回一个对象

在客户端中,我有以下代码:

handle_error(response) if response.is_a?(Error)
其中response是DRbObject。(我在使用dRuby之前开发了这段代码,如果出现问题,我将返回一个错误对象)。问题是现在

response.is_a?(Error)
返回“false”,因为该对象实际上是一个DRbObject。 知道如何检查应用程序对象的类吗

谢谢!
Roberto

虽然我不确定DRb是如何管理远程对象的,但我希望它能修改#种类??要在远程对象上保留类层次结构,您可以执行以下操作:

response.kind_of?(Error)
如果这不起作用,你可以问它是否响应了一个特定的方法,然后从那里开始

response.respond_to?(some_method_on_your_errors)

你能不能通过使用来解决这个问题?检查对象是否响应调用以获取错误信息,而不是检查对象是否为错误。如果是,则根据该信息处理错误,否则处理(非错误)响应