だいです

Re the message of ``[ruby-ext:01576] Re: require 'dir/...'?''...

matz / zetabits.com (Yukihiro Matsumoto):
> まつもと ゆきひろです
> 
> In message "[ruby-ext:01575] Re: require 'dir/...'?"
>     on 01/03/01, "Dai.K." <MAP2303 / mapletown.net> writes:
> 
> |> foo/*を擁護する人は 「foo ディレクトリ以下の全部のファイルに
> |> よって構成されるなにか」を提供しようとしている(ように見える
> |> のに対して)、私は「なにを提供するかどうかはライブラリ設計者
> |> が決めるべき」と考えているのです。
> |
> |  「全部」、というか「基本環境」を提供したいでもいいと思うんですが…?
> 
> はあ、で、基本でないものは全部サブディレクトリに放り込むと。
> まあ、そういうやり方は否定しませんが、言語的に支援するかどう
> かは別です。

  ここはまつもとさんの意向によるわけで、とりいれてくれるかどうか聞いたわけです。
  細部の話を詰める前に。


> |  foo.rb が嫌なのは自分の管理するディレクトリじゃないからです。
> |  あと二つ並ぶのが嫌だというところ。
> 
> 後者は理解できます。私は気にしないけど。
> 
> 前者は、結局fooっていうディレクトリを置くんだから「自分の管
> 理するディレクトリじゃない」ってのは当てはまらないんでは?

  うーん。
  foo/ だけでも気を使うのに、さらに foo.rb なんてやりたくない、ってわけです。
  前も書きましたがここは感性なので。


> |  foo/bar は結局 foo/ 配下ですからね。
> 
> |> いろいろな人の意見は聴きたいですね。もともと私に一方的に有利
> |> な議論ではあるのですが。(笑)
> |
> |  いやいや、今回はそうでもなかったりして。
> |  だって、foo/all.rb 使いましょー! と心配症なライブラリ開発者たちで合意すれ
> |ばいいんだし;-P
> 
> 私の論点はふたつあって
> 
>   * require 'foo' でいいじゃん
>   * require 'foo/*' はイヤ(明示的でなくても)
> 
> です。前者は合意の問題だけなんですが、後者は採用するかどうか
> は私が決めるのでやっぱり私に有利です。それに foo/all ではイ
> ヤだというのがこの議論の主眼なのではないですか?

  話の流れは:

  1.
    a. foo.rb foo/
    b. foo/all.rb
    のどちらか標準的なのが欲しいなぁ。

  2. それぞれの案を支持する理由(つうか他方への反対理由)。
    a.
      - all.rb とかいう名前が決められるのがイヤだ。
      - all.rb とかいう約束事自体イヤだ。
        (これは 1.の提案自体に反対ってことですね)
      - foo/all.rb と書くのは長ったらしい。
    b.
      - foo.rb foo/ と外界に 1つは仕方ないにせよ、不要な 2つ目まで置くのがイヤ。
      - foo.rb foo/ と 2つ並ぶのがイヤだ。

  3. 折衷案。
    require 'foo/' で foo/ 以下を全部 require するのはどうだろう?
    これなら 1. の提案自体を退けるのを除き、全ての反対理由が無くなっています。
    ですがこれは まつもとさんの賛成が必要。というわけでお伺いをたてました。

  4. vsまつもと戦(^^;
    - 'foo/' が美しくない
      ← 'foo/*' でも 'foo' でもいいです。
      → 'foo' なら美的感覚はよい。

    - いきなり全部読まれるのは受け入れ難い
      (サブディレクトリ分けなど色々議論あって)
      → 1.b 案の場合に、require 'foo' で foo/all.rb を読むという機能を
         require に入れてもよいかもしれない(all.rb の名前は検討として)。
      ← うーん。それじゃ仕方ないかなぁ。

    2 に戻る。

  というところです。現状は再び a vs b なり。
    b案になれば require 改造の話になるやもしれません。
    a案で合意になるかもしれません。
    また別の妥協案が出てくるかもしれません。
    合意できず、せめて b案支持派だけで何か all.rb の名前を決めるかもしれません。
    (この場合は require 改造は要望しないでしょう)