[#22494] [ANN] YARV: Yet another RubyVM 0.0.0- — "K.Sasada" <ko1@...>
あけましておめでとうございます。
まつもと ゆきひろです
なかだです。
nobu.nakada@nifty.ne.jp wrote :
[#22503] can't require — IWATSUKI Hiroyuki <don@...>
岩月と申します。
なかだです。
まつもと ゆきひろです
岩月と申します。
山本です。
岩月と申します。
なかだです。
山本です。
なかだです。
山本です。
なかだです。
まつもと ゆきひろです
In article <1073474004.933446.5475.nullmailer@picachu.netlab.jp>,
なかだです。
山本です。なかださんのコードで気になった点が3つあります。
なかだです。
山本です。
山本です。
なかだです。
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
まつもと ゆきひろです
山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。
なかだです。
山本です。WinCVS + byacc + sed をインストールして、ビルドできるようになりました。
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
まつもと ゆきひろです
山本です。
山本です。
なかだです。
まつもと ゆきひろです
山本です。
なかだです。
山本です。
山本です。
まつもと ゆきひろです
山本です。
なかだです。
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
まつもと ゆきひろです
[#22507] Re: config.h generated for MVC not usable to compile an app with BCC 5.5 (PR#1242) — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#22588] marshaling a class which is defined under singleton class — Tanaka Akira <akr@...17n.org>
次のように、特異クラス内で定義したクラスを marshal するとエラーが出ま
[#22589] marshaling a time with singletom method. — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、
[#22590] empty proc equality — Tanaka Akira <akr@...17n.org>
次のように、異なる空の proc が == になるのは意図されているのでしょうか。
なかだです。
In article <200401160217.i0G2Hn2U005256@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
まつもと ゆきひろです
[#22608] Time#[+-] when given a negative argument — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
[#22621] marshaling a object which have singleton class which have singleton method — Tanaka Akira <akr@...17n.org>
次のように、特異クラスに特異メソッドをつけた場合、Marshal.dump が失敗
In article <1074477335.411187.19623.nullmailer@picachu.netlab.jp>,
[#22624] Find.find raises SecurityError in $SAFE>=1 — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
まつもと ゆきひろです
[#22634] build faild on Linux/ia64 — akira yamada <akira@...>
まつもと ゆきひろです
[#22662] NODE_NEWLINE -> NEWILNE flag — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#22688] output directory for extensions — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
なかだです。
[#22691] 次期リリースでの新規添付ライブラリ — "Kawaji, Shinya" <kawaji@...>
かわじ、です
まつもと ゆきひろです
まつもと ゆきひろです
かわじ、です。
[#22763] $: trick in test/* — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
In article <1075383555.811739.10596.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
[ruby-dev:22552] Re: can't require
山本です。
>At Thu, 8 Jan 2004 13:49:40 +0900,
>H.Yamamoto wrote:
>> もしも **/ とシンボリックリンクのチェックがタイムリーでなくていいのなら、
>> 上からマッチする順が下からマッチする順と同様に高速で、
>> デフォルトが上からマッチなので互換性も取れて、
>> Win32のパッチも今のままで問題なくなって、
>> なかださんのパッチでよさそうなんですけど、どうなんでしょうか。
>> (ただ、_WIN32のコードは外にだせるかも)
>
>名前を先にyieldしてからその中身を読むという動作上、ある程度はしょ
>うがないような気がします。これをどうしても避けたいなら、今
>rb_w32_opendir()でやっているように一度全部読んでしまう以外には
>ないかも知れません。しかし今度は、readdir()したときにはあったファ
>イルがなくなったり、なかったものが増えていたりという可能性もで
>てくるでしょうし。
この点については、誤解があるかもしれないので確認します。
Rev1.94では、
if (do_lstat(...) && S_ISDIR(...))
{
glob_helper(...);
}
のように lstat の後すぐ glob_helper を呼んでいるので、
シンボリックリンクでないことが保証されます。
ただ、これを
if (do_lstat(...) && S_ISDIR(...))
{
dirtype = dir;
}
glob_helper(...); #1
if (dir)
{
glob_helper(dir); #2
}
とすると、#1のglob_helperによってファイルシステムに変更が加わると、
#2でシンボリックリンクに変わっている可能性があるため、危険があります。
もちろん、ruby以外からファイルシステムに変更が加わる可能性はありますが、
時間は短いのでより安全だし、ruby単独なら完全に安全です。
こういったことは、rb_w32_opendirのように一度に読んでも回避できないはずです。
//////////////////////////////////////////////////////////////////////////////////
>結局、そういう元のディレクトリを変更するような場合にはPOSTORDER
>を使うべし、ということになるのでは。その例では、(_WIN32以外では)
>再帰する前にopendir()することでちょっとマシになるかも知れません。
私はRev1.94で、可読性、高速性、安全性で妥協しないような実装に苦労したので、
この問題について客観的に見れなくなっている気がします。
**/のチェックがタイムリーでなくても安全ならいいんですが、
危険はあるが、フラグ、それも安全性とは本質的な関係のないフラグで
回避すべきというのは、使い勝手が悪い気がします。
本当に安全性として問題ないのでしょうか?他の人の意見も聞きたいです。私はWin32な人間なので、
正直よくわかりません。
//////////////////////////////////////////////////////////////////////////////////
コードはシンプルにしておきたいので、できれば「不定」のままのほうがいいのですが、
多数のファイルにマッチする場合は、メモリを大量に消費するので、
「上からマッチ」「下からマッチ」があったほうがいいのかもしれません。
考えてみたんですが、デフォルトが「上からマッチ」だと、
実装によってデフォルトの方が遅くなる場合もあり、(**/を厳格にした場合など)
望ましくありません。
そこで、デフォルトは不定かつ最速(現在の実装では「下からマッチ」と同じ)で、
Dir::GLOB_HEAD のような指定があれば「上からマッチ」
Dir::GLOB_TAIL のような指定があれば「下からマッチ」にする方が望ましい気がします。
仮に「上からマッチ」や「下からマッチ」が遅いとしても、望んでその動作を選ぶのなら
問題ないでしょうし。