あおきです。

  In mail "[ruby-ext:01621] Re: require 'dir/...'?"
    Shugo Maeda <shugo / ruby-lang.org> wrote:

> 前田です。

> >   Foo だったら foo.rb、Foo::Bar は foo/bar.rb、自然じゃん!
> > 
> > という流れで(これ自体はわかる)、なんで foo/bar(Foo::Bar) と
> > foo/baz(Foo::Baz) をまとめるのが foo.rb になるのが同様に自然と言え
> > るのかわかんない、ということです。

> モジュールFooという名前空間で提供される一まとまりのライブラリが
> foo.rbで提供されるというのはパスが対応してるような気がするのです
> が、そんなことないです?

ぼくにとってはむしろそれは都合がいいんですけど、その理屈だと
require 'foo' が foo/* をロードするのを正当化してしまいません?

    foo.rb → Foo::* → foo/*

ようするにライブラリ foo に対して foo.rb を提供するのは機械的な
名前の対応操作では説明不可能なんではないでしょうか。だからイヤって
わけじゃないです。別の論理だということ。

----
てゆーか、最初はファイル名とクラス名は関係なかったはずなんですよね
[ruby-list:15293] 。

でもいつの間にか「ファイル名 == メインクラス名.downcase」がお勧め
になっていて、さらに今回は require 名は機能をあらわすから、という
ことになってるところがちょっと釈然としないんですけど…。


> あれ、何でruby-extなんでしたっけ。

最初に ext に出されてしまったから?  ^^;;
-------------------------------------------------------------------
青木峰郎