[#22195] IO::for_io and TCPServer#bind — GOTOU Yuuzou <gotoyuzo@...>

test_drb が IPv4 射影アドレスが有効な環境でないと動かないこ

16 messages 2003/12/09
[#22198] Re: IO::for_io and TCPServer#bind — matz@... (Yukihiro Matsumoto) 2003/12/09

まつもと ゆきひろです

[#22205] yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org>

StringIO の

24 messages 2003/12/10
[#22206] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22214] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/10

In article <200312100725.hBA7P8Ac011112@sharui.nakada.kanuma.tochigi.jp>,

[#22222] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22234] Re: yet another inconsistency about EOF between StringIO and IO — Masahiro Sakai (酒井政裕) <sakai@...> 2003/12/11

さかいといいます。

[#22262] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/13

In article <20031211.214041.71090239.sakai@tom.sfc.keio.ac.jp>,

[#22328] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

In article <87k751dzyf.fsf@serein.a02.aist.go.jp>,

[#22331] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22334] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

In article <1072167374.096702.13473.nullmailer@picachu.netlab.jp>,

[#22343] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22330] core dump with ungetc — Tanaka Akira <akr@...17n.org>

次のように ungetc を使うと core を吐く場合があります。

14 messages 2003/12/23
[#22332] Re: core dump with ungetc — nobu.nakada@... 2003/12/23

なかだです。

[#22366] `to_s': method `to_s' overridden (TypeError) — Tanaka Akira <akr@...17n.org>

そういえば、次の `to_s': method `to_s' overridden (TypeError) というの

12 messages 2003/12/24

[#22385] Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

19 messages 2003/12/24
[#22387] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22393] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

永井@知能.九工大です.

[#22395] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22396] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22397] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

永井@知能.九工大です.

[#22418] ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...>

みやむこです。

29 messages 2003/12/25
[#22419] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22420] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22424] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2003/12/25

みやむこです。

[#22491] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2004/01/05

みやむこです。

[ruby-dev:22161] Re: Dir.glob と Shjift_JIS について

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2003-12-05 13:25:16 UTC
List: ruby-dev #22161
山本です。


>fnmatchでも**を扱えるようにするというのはいいかもしれませんが、
>FNM_PATHNAMEって意味は逆じゃありませんでしたっけ。

Dir.glob("a*.dat")

と書いた場合、これは
「a ではじまり .dat で終わるファイル」と
「a ではじまるフォルダ以下にある .dat で終わるファイル」の
2つの意味を含みますよね。

* が / にマッチしない場合は

Dir.glob("a*/**/*.dat")
Dir.glob("**/a*.dat")

とそれぞれかけますが、この両方にマッチさせたいケースはあまりない気がします。
仮に両方にマッチさせたいとしても、'\0'で区切ればよいのだから、
File::FNM_PATHNAME の動作に統一してしまっても、困らないと思います。


>全然オーバーヘッドを気にしているわけではなくて、ターミネータを
>越えてアクセスしようとするところが、バッファオーバーランを誘発
>しそうでなんとなく気になってます。

でも、(p) + 1 を使うシングルバイト環境では、p == '\0' でも1増えますよね。
Next() の動作が環境によって異なるのは避けたいです。
mblen()はターミネータを越える数を返さないだろうし・・・

>
>> aa/aa/aa/aa/* みたいに、最後が magic なパターンで glob_helper を呼んだ場合に、 / の度に
>> 
>>     p = sub ? sub : path;
>>     if (!has_magic(p, 0, flags)) {
>> #if defined DOSISH
>> 	remove_backslashes(path);
>> #else
>> 	if (!(flags & FNM_NOESCAPE)) remove_backslashes(p);
>> #endif
>> 
>> が呼ばれる部分の方がマルチバイト環境では気になります。
>
>これはまぁ、以前から若干思わないでもなかったのですが、トータル
>としてはそう大きくはならないだろうと思ってます。

ベンチマーク上は Next()の呼び出し回数はパスの長さ n に対して O(n*n) のオーダで増えるので、
パスが長くなるにつれ遅くなるのがわかるんですが、トータルでは確かに微々たる物かも。

でも、最適化してみたい気はするなあ。


!# ruby -Ks

require "benchmark"

n = 100000

Benchmark.bm { |x|
    x.report {
        for i in 1..n
            File.fnmatch("b??/*/b??", "bee/banana/bee")
        end
    }
    x.report {
        for i in 1..n
            File.fnmatch("b??/*/b??", "bee/banana_n_banana_n_banana/bee")
        end
    }
}


/////////////////////
// Result

S:>e:\ruby-1.8.0\bin\ruby a.rb
      user     system      total        real
  0.580000   0.000000   0.580000 (  0.580000)
  0.621000   0.000000   0.621000 (  0.621000)

S:>ruby a.rb
      user     system      total        real
  0.951000   0.000000   0.951000 (  0.952000)
  1.442000   0.000000   1.442000 (  1.442000)



In This Thread