たけ(tk)です

[ruby-ext:02249] Re: vfs.rb & Windows path にて
> 間違えました。File::Scheme.newをオーバーライドしちゃいけません。

うまくいきました。
で、と、すると。こんなのでも良くはありませんか?

----
require 'open-uri'

module Kernel
  #alias open_uri_original_open open # :nodoc:
  def open(name,*rest,&block)
    URI.parse(name).open(*rest, &block)
  rescue
    open_uri_original_open(name,*rest,&block)
  end
  module_function :open
end

class File::Scheme
  def initialize(scheme, userinfo, host, port, 
                 registry, path, opaque, query, 
                 fragment)
    @path = path
  end
  def open(*rest, &block)
    File.open(@path, *rest, &block)
  end
end

module URI
  @@schemes["FILE"] = File::Scheme
end

path =  "file://" + File.expand_path(__FILE__)
##path =  File.expand_path(__FILE__)
##path = "http://www.ruby-lang.org/"

open(path) {|f|
  f.each_line {|line| p line}
}
----

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武