[#13087] importing forwardable — "Akinori MUSHA" <knu@...>

 石塚さんの forwardable.rb を標準添付ライブラリにするべく、

11 messages 2001/05/02

[#13169] SizedQueue#pop causes deadlock — "Okada Jun" <yun@...>

岡田です。

18 messages 2001/05/13
[#13171] Re: SizedQueue#pop causes deadlock — "Akinori MUSHA" <knu@...> 2001/05/13

At Sun, 13 May 2001 14:11:18 +0900,

[#13176] Re: SizedQueue#pop causes deadlock — matz@... (Yukihiro Matsumoto) 2001/05/13

まつもと ゆきひろです

[#13177] Re: SizedQueue#pop causes deadlock — "Akinori MUSHA" <knu@...> 2001/05/13

At Mon, 14 May 2001 00:24:45 +0900,

[#13187] Re: SizedQueue#pop causes deadlock — matz@... (Yukihiro Matsumoto) 2001/05/13

まつもと ゆきひろです

[#13202] Re: [ruby-list:29672] Re: Enumerator — "Akinori MUSHA" <knu@...>

 ruby-dev に移ります。

26 messages 2001/05/15
[#13208] Re: [ruby-list:29672] Re: Enumerator — matz@... (Yukihiro Matsumoto) 2001/05/15

まつもと ゆきひろです

[#13259] Enumerator -- Round 2 — "Akinori MUSHA" <knu@...>

 もう一度、 Enumerable/Enumerator についてみなさんのご意見を

29 messages 2001/05/20
[#13260] Re: Enumerator -- Round 2 — matz@... (Yukihiro Matsumoto) 2001/05/20

まつもと ゆきひろです

[#13265] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/21

At Mon, 21 May 2001 06:04:32 +0900,

[#13268] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/21

原です。

[#13270] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/21

At Mon, 21 May 2001 15:00:11 +0900,

[#13289] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/22

原です。

[#13290] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/22

At Tue, 22 May 2001 19:02:10 +0900,

[#13291] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/22

原です。

[#13293] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/22

At Tue, 22 May 2001 20:57:02 +0900,

[#13305] Re: Enumerator -- Round 2 — Shin-ichiro HARA <sinara@...> 2001/05/24

原です。

[#13322] Re: Enumerator -- Round 2 — "Akinori MUSHA" <knu@...> 2001/05/24

At Thu, 24 May 2001 15:44:14 +0900,

[#13277] ext/dbm in ruby 1.7 — Kazuhiro NISHIYAMA <zn@...>

ruby 1.7のext/dbmですが、

16 messages 2001/05/21
[#13280] Re: ext/dbm in ruby 1.7 — matz@... (Yukihiro Matsumoto) 2001/05/21

まつもと ゆきひろです

[#13292] Integer("X") rescue -1 が parse error — YASUI Kentarow <kenyasui@...>

安井です。

18 messages 2001/05/22
[#13294] Re: Integer("X") rescue -1 が parse error — matz@... (Yukihiro Matsumoto) 2001/05/22

まつもと ゆきひろです

[#13295] Re: Integer("X") rescue -1 が parse error — "Akinori MUSHA" <knu@...> 2001/05/23

At Wed, 23 May 2001 08:59:50 +0900,

[#13300] 1.6.4 preview3 (Re: Re: Integer("X") rescue -1 が parse error) — matz@... (Yukihiro Matsumoto) 2001/05/24

[#13304] Re: 1.6.4 preview3 (Re: Re: Integer("X") rescue -1 が parse error) — "Akinori MUSHA" <knu@...> 2001/05/24

At Thu, 24 May 2001 14:15:04 +0900,

[#13428] mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

19 messages 2001/05/31
[#13435] Re: mswin32/ming32 system patch (experimental) — nobu.nakada@... 2001/06/01

なかだです。

[#13442] Re: mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...> 2001/06/01

こんにちは、なかむら(う)です。

[#13446] Re: mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...> 2001/06/02

こんにちは、なかむら(う)です。

[#13450] Re: mswin32/ming32 system patch (experimental) — nobu.nakada@... 2001/06/04

なかだです。

[ruby-dev:13357] glob & fnmatch

From: "Akinori MUSHA" <knu@...>
Date: 2001-05-27 07:14:42 UTC
List: ruby-dev #13357
 以下の機能追加をするのはいかがでしょうか。

+ フラグ用の FNM_* 定数を ruby.h に置いて公開。ただし、衝突を
  避けるため RB_FNM_* と改名。

+ rb_glob()/rb_globi() (と下請けの push_globs()/push_braces()) に
  フラグを指定する引数を追加。今後は RB_FNM_PERIOD は明示的に指定
  する必要がある。RB_FNM_NOESCAPE, RB_FNM_PERIOD, RB_FNM_NOCASE の
  組合せが有効。

+ Dir::NOESCAPE, Dir::FILENAME, Dir::DOTFILE, Dir::CASEFOLD の
  各定数を追加。それぞれの意味は:

    Dir::NOESCAPE
	\ をエスケープ文字ではなく文字通り \ として扱う
	(RB_FNM_NOESCAPE に対応。特に Windows では便利?)

    Dir::FILENAME
	[/] などのワイルドカードをパスの区切り文字にマッチさせない
	(RB_FNM_PATHNAME に対応; glibc で FNM_FILE_NAME という
	別名がついている通り、 PATHNAME だと意味的に逆なので
	FILENAME とした)

    Dir::DOTFILE
	* などのワイルドカードをファイル名先頭の . にもマッチさせる
	(RB_FNM_PERIOD の逆; Dir::glob では RB_FNM_PERIOD が
	デフォルトになっているため)

    Dir::CASEFOLD
	大文字小文字を区別しない
	(RB_FNM_NOCASE に対応。多くの fnmatch の実装では
	FNM_CASEFOLD となっているので合わせた。ただし、
	Regexp::IGNORECASE に合わせて IGNORECASE でもいいかも)

+ Dir::glob() (Dir::[]) の第二引数にフラグを受け付ける。
  Dir::NOESCAPE, Dir::DOTFILE, Dir::CASEFOLD の組合せが有効。

+ Dir::match?(pattern, string, flags) を追加。フラグには
  Dir::NOESCAPE, Dir::FILENAME, Dir::DOTFILE, Dir::CASEFOLD の
  組合せが有効。


 いつぞやの fnmatch() 導入案は闇に消えてしまいましたが、今回は
Dir::glob() の強化とともに提案します。

		*		*		*

 たぶん大げさだと思うんですけど、上に変えてグロブパターンを
クラスにする手もなくはない?(昔あったけど廃止したんでしたっけ)

 もしかすると、この方が Dir クラスという呪縛からある程度離れて
ワイルドカードマッチに使えていいのかも。上の Dir の変更がもし
許容できないということでしたら、 Glob を拡張ライブラリとして
実装してみましょうか。うーん。迷うなあ。

	Glob::new(pattern, flags = 0)
	Glob[pattern, flags = 0]
	  生成

	Glob#match?(str)
	Glob#===(str)
	  マッチ判定

	Glob#each { |f| ... }
	 include Enumerable
	  マッチするファイルについて繰り返す

	Glob#flags
	Glob#flags=
	Glob#source
	Glob#to_s
	Glob#==
	  ... いろいろ

	Glob.new("*").each { |f|
	  case f
	  when "Makefile"
	    ...
	  when Glob["*.[ch]"]
	    ...
	  end
	}

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Freeze this moment a little bit longer, make each impression
  a little bit stronger..  Experience slips away -- Time stand still"

In This Thread

Prev Next