我有一个从路径名继承的RemoteFile

class RemoteFile < Pathname
end

我创建一个远程文件,并获取其父文件
    irb> RemoteFile.new('.')
     => #<RemoteFile:.>
    irb> RemoteFile.new('.').parent
     => #<Pathname:..>

除了在Pathname中修补十几个方法之外,还有什么方法可以让Pathname返回远程文件如果Pathname返回self.class.new类型的对象,效果会更好吗?

最佳答案

您可以考虑委托给实际的Pathname对象。看看this article这样你就不必对任何东西进行修改,而且由于委托关系,你可以以更安全、更可控的方式修改东西。

10-08 04:31