だいです

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

> あおきです。
> 
>   In mail "[ruby-ext:01545] require 'dir/...'?"
>     "Dai.K." <MAP2303 / mapletown.net> wrote:
> 
> >   だいです。
> 
> > > |  256Racc本を読んでいまして、複数ファイルに分かれたライブラリの require は
> 
> お買い上げありがとうございますぅ  (^^;;

  昔読んだ yacc&lex 本より分かりやすくてよかったです。曖昧なところがかなり
すっきりしました。対決編がなかなか面白かったり。
  ただ、エラー回復とか演算子優先順位のことをもうちょっと知りたかったなぁ(笑)
# ドラゴンブック読めって?(^^;


> > # あ、ここ est/all と例示してますけど、ext/all の typo ですか? > あおきさん
> 
> いえ、秘かに作ってるメーラのフレームワークが est って名前なんです。

  御意。


> >   で、僕もそのとおり 3案がよいと思うんだけれど、全部のファイルを一斉に require
> > してはいけない、って具体的にどんな場合でしょ? ちょっと考えたけど思いつかなかった。
> 
> いやあ、具体的には考えてませんでした(爆)。もしあったら困るよなあ、
> くらいです。強いて言えば TMail のコアとネットワークまわりは別々に
> ロードさせたい、とか。

  この場合でも、全部ロードしちゃいけないってわけじゃないですよね。
  今の話は所詮一般ルールにすぎないんで、各々ロードさせる時は指定させるのは受け
いれられるかと。
  require にオプション引数とらせたら、とかいう案が浮かびますが、まぁそれは必要
になったら。


> >   あと require を拡張して、require 'foo/' というようになっていたら自動的に
> > foo/all.rb を読むようにしてくれると嬉しい。all.rb は適当な変数で変更可。
> 
> むしろ foo/*.rb を読んでほしいです。そうすれば all.rb を更新
> しなくて済むので。

  なるほど。これはよいかもしれない。
  うちの個々のファイルには require 付けてなくて、foo/require.rb が順番通りに
ロードしてくれるんですが、これはちゃんと require 付けろってことですね(^^;

  あとロードしたくないものがあったらどうするかというのが気になります。
  debug.rb とかいかにもありそう。(つーか、ある)

  さらにサブディレクトリも自動的に読むかどうか。
  これは読ませないで、必要ならそれこそ個人の自由な all.rb にサブディレクトリ
require するように書かせるといいかな。debug.rb は適当なサブディレクトリに追い
やっちゃえば上の問題も解決。


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

> ごとけんです
> 
> In message "[ruby-ext:01550] Re: require 'dir/...'?"
>     on 01/03/01, Dai <MAP2303 / mapletown.net> writes:
> >  聞きたいのは、foo.rb と foo/ を推す理由はあるんでしょうか? ということ。
> >  共感はできなくとも理解は可能だと思うので、それなりの理由があればその流儀で
> >もよいのです。
> 
> require "foo/foo" と書かせるよりは require "foo" の方がスッ
> キリしてるからではないでしょうか?

  これは確かに感じます。が、僕には気持ち悪さは相対的に小さかった。


> また require "foo/all" っていうのは foo/ に置かれる all.rb っ
> ていう名前がイヤなんです。main.c っていうのがイヤみたいな感
> じですかねぇ。

  なるほど。
  main.c が嫌だって人がいるのをたまに聞きますが、すぐに忘れちゃうのでした^^;
  僕は全然気にならないというかむしろ考えなくていいから気楽。


>  __init__.py みたいな約束を設けるコトにもそれ
> ほど反対ではありませんが、約束が増えるコト自体がちょっと良く
> ないと思うのも事実です。

  __init__.py ってどういう機構ですか?
  やること自体は all.rb と同じもの?


  で、require 'foo/' を許すようにすれば両方受け入れ易そうに思いますが如何?
  字数もあまり増えないし、main のような縛りもないし。
  foo/ の場合に、foo.o foo.rb があったらそちらを優先とかにしてもいいかも。
# foo でディレクトリまで読むのもありかな…でもこれはちょっと混乱しそう?

  既に .o .rb の違いがありますから、新たな末尾辞の導入自体は問題無いと思いま
すが、この案で合意とれたとして文法修正(てほどでもないけど)は受け入れられるで
しょうか?  > まつもとさん

  あと今すでに cgi.rb cgi/session.rb がありますよね^^;
  cgi/session.rb が cgi.rb に依存してるだけで、cgi.rb の一部としての session 
じゃないです(よね? session 使ったことないんだけど)。
  移動すると影響多そうだから放っておくのがいいかな。完全世界を求めてるわけで
なくて、ディレクトリ内ライブラリをどう解放する(=リリース)かの規範が欲しいだけ
だから他所がどうするかはあまり気にならないのです。
# 自由からの逃走(爆)