[#12340] CGI#out — Shugo Maeda <shugo@...>
前田です。
[#12354] re: higher-resolution Time for Win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#12364] Dir::fnmatch? — "Akinori MUSHA" <knu@...>
[ruby-dev:12229] の、 Dir::fnmatch? の追加には特に問題や反対
まつもと ゆきひろです
[#12385] Re: NaN, Infinity (Bug?) — WATANABE Hirofumi <eban@...>
わたなべです。
[#12387] reducing logical operation — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
えぐち@エスアンドイー です。
なかだです。
えぐち@エスアンドイー です。
なかだです。
えぐち@エスアンドイー です。
木山です.
[#12404] fork in threads — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
なひです。
[#12405] at_exit — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#12415] — Koji Arai <JCA02266@...>
新井です。
[#12425] bignum % の結果が負数になることがある — Hisayasu Nakao <h-nakao@...>
最近、ruby-1.6.2を使い出したばかりの中尾です。
わたなべです。
In message <4518-Mon12Mar2001145434+0900-eban@os.rim.or.jp>
まつもと ゆきひろです
In message <984469222.234203.1007.nullmailer@ev.netlab.zetabits.com>
なかだです。
In message <200103131446.XAA22520@sharui.nakada.kanuma.tochigi.jp>
まつもと ゆきひろです
In message <984550885.417146.3670.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
In message <984553493.009507.3747.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
In message <984579430.080967.5569.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
[#12483] sort! of empty array — Shin-ichiro HARA <sinara@...>
原です。
まつもと ゆきひろです
なひです。
[#12492] compile error on mswin32 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#12513] SOLIBS — "Akinori MUSHA" <knu@...>
configure.in に以下のような修正を加えたいと思っています。
In message <86itlbdv32.wl@archon.local.idaemons.org>
[#12535] シンボリックリンクを含むパスを渡した時の Dir.glob() の動作 — tachino Nobuhiro <tachino@...>
[#12537] re-initialize ARGF — Masaki Suketa <masaki.suketa@...>
助田です。
[#12541] Thread.kill — Masatoshi SEKI <m_seki@...>
[#12570] compile error on ews48 — Koji Arai <JCA02266@...>
新井です。
[#12578] require 'win32api' — Kazuhiro NISHIYAMA <zn@...>
require 'win32api'のエラーメッセージがわかりにくいと
なかだです。
なかだです。
In <200103211407.XAA03408@sharui.nakada.kanuma.tochigi.jp>
なかだです。
In <200103220905.SAA01745@m3.gw.fujitsu.co.jp>
artonです。
[#12582] finalizer problem — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
[#12605] extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
まつもと ゆきひろです
渡辺哲也です。
まつもと ゆきひろです
まつもと ゆきひろです
新井です。
[#12621] Marshal bug still remains — "Akinori MUSHA" <knu@...>
Marshal にまだバグが残っています。最新安定版で:
[#12623] [req] Symbol#intern — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#12672] segv on Continuation#call on C_ALLOCA system — Koji Arai <JCA02266@...>
新井です。
[#12674] Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp>
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
なかだです。
新井です。
なかだです。
まつもと ゆきひろです
[#12693] Re: [ruby-cvs] ruby/lib: * ext/extmk.rb.in, lib/mkmf.rb: move C++ rules to the right place. — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
At Wed, 28 Mar 2001 21:08:14 +0900,
[#12699] cross compile mingw-ruby on cygwin — Koji Arai <JCA02266@...>
新井です。
[ruby-dev:12377] Re: File::fnmatch? (was: Re: Dir::fnmatch?)
At Tue, 6 Mar 2001 13:56:28 +0900,
matz wrote:
> まだ以下のことについて考えたいです。
>
> メソッド名
>
> fnmatch, fnmatch?, namematch?, pathmatch?
FNM_PATHNAME を付けない限り path 全体についてマッチするのでは
ないので、 dir とか path は付けない方がよいと思います。
また ? を付けないと、(Regexp#match() からの類推で)マッチ結果を
返すような印象を与えるおそれがあるので、真偽値を返すことを明示
する意味で ? は付けた方がいいと思います。
はじめの提案の際、 glob という語を入れてはどうかというご意見が
出ましたが、 glob という言葉はまとまりという意味ですから、個別に
マッチするかどうかテストするイメージには合致しないと思います。
ある条件のまとまりをパターンで指定する、というニュアンスで使う
のが一般的です。(glob(3), Dir::glob) まあ、 glob パターンという
言い回しも一般的になっていますけどね。
さらに wildcard という語も出ましたが、 wildcard とは * や ? の
ことですから、これもやはり違うと思います。「マッチのパターンには
*, ? のようなワイルドカードや [...] によるキャラクタセットが使え
ます」というのが正しい用法だと思います。
というわけで私には fnmatch? か namematch? が妥当だと思えるの
ですが、どちらも捨てがたいですねー。UNIX の fnmatch(3) が広く
知られている一方、 File クラスに入れるなら fn- などと妙な略し方を
しなくても、 namematch? と分かりやすくできるし。
どちらか一つ、ということなら前者かなーと思いますが。
> マクロ名
>
> FNM_NOESCAPEなどをどうするか。intern.hに含めるのはま
> ずい気がします(fnmatch.hと衝突するから)。
確かにそうでした。
> 関数名
>
> rb_fnmatchにするの?
>
> 個人的には今回のパッチでfile.cに加えられた変更はdir.cに追加
> でも良いかなって思ってます。そうすれば、externにする必要がな
> いので、衝突などの心配をしなくて済みますし。
Static ではなくインターフェースを公開する場合は衝突を避ける
ために rb_ を付ける必要がありましたが、 dir.c に収めてよいのなら
問題ありませんね。
ということで、パッチはまた単純になりました。どうでしょう?
> 欠点はFileの実装がio.c, file.c, dir.cに分散しちゃうことでしょ
> うね。ま、いいか。
構造化プログラミング言語でオブジェクト指向言語を実装している
わけなので、そこは仕方のない妥協かも。 ;>
--
/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp
"We're only at home when we're on the run, on the wing, on the fly"
Index: dir.c
===================================================================
RCS file: /mirror/ruby/src/ruby/dir.c,v
retrieving revision 1.33
diff -u -r1.33 dir.c
--- dir.c 2001/02/28 06:30:03 1.33
+++ dir.c 2001/03/06 08:34:43
@@ -872,6 +872,29 @@
return rb_ensure(rb_Array, dir, dir_close, dir);
}
+static VALUE
+file_s_fnmatch(argc, argv, obj)
+ int argc;
+ VALUE *argv;
+ VALUE obj;
+{
+ VALUE pattern, string;
+ VALUE flags;
+ int f;
+
+ if (rb_scan_args(argc, argv, "21", &pattern, &string, &flags) == 3) {
+ f = NUM2INT(flags);
+ }
+ else {
+ f = 0;
+ }
+
+ if (fnmatch(RSTRING(pattern)->ptr, RSTRING(string)->ptr, f) == 0)
+ return Qtrue;
+
+ return Qfalse;
+}
+
void
Init_Dir()
{
@@ -905,4 +928,12 @@
rb_define_singleton_method(rb_cDir,"glob", dir_s_glob, 1);
rb_define_singleton_method(rb_cDir,"[]", dir_s_glob, 1);
+
+ rb_define_singleton_method(rb_cFile,"fnmatch?", file_s_fnmatch, -1);
+ rb_define_singleton_method(rb_cFile,"namematch?", file_s_fnmatch, -1);
+
+ rb_define_const(rb_cFile, "FNM_NOESCAPE", INT2FIX(FNM_NOESCAPE));
+ rb_define_const(rb_cFile, "FNM_PATHNAME", INT2FIX(FNM_PATHNAME));
+ rb_define_const(rb_cFile, "FNM_PERIOD", INT2FIX(FNM_PERIOD));
+ rb_define_const(rb_cFile, "FNM_NOCASE", INT2FIX(FNM_NOCASE));
}