Ruby 你是一个女孩吗?和德鲁比物体
我正在使用dRuby,基本上我正在调用一个远程方法,该方法返回一个对象 在客户端中,我有以下代码: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虽然我
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)
你能不能通过使用来解决这个问题?检查对象是否响应调用以获取错误信息,而不是检查对象是否为错误。如果是,则根据该信息处理错误,否则处理(非错误)响应