[#7785] rb2c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1999/09/02

[#7845] [Q] irb and SizedQueue — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

14 messages 1999/09/15

[ruby-dev:7886] fnmatch (Re: Dir.glob)

From: WATANABE Hirofumi <eban@...>
Date: 1999-09-20 16:35:03 UTC
List: ruby-dev #7886
わたなべです.

ruby-dev に移ります.

EGUCHI Osamu <eguchi@shizuokanet.ne.jp> writes:

:matz> 1.5系で取り込みましょう。iglobも含めてね。
:
:iglob ですが、DOSISH な環境では2バイト文字(SJIS)の
:2バイト目を downcase() してしまうと意図しないマッチ
:が生じるのが問題かも知れません。

採用されたら思う存分 mbc??? を使って実装しようかなと考えた
んだけど, cygwin だとどうせ stat だのが日本語のファイル名対
応してないからやっても無駄だなあってとこが意欲を失わせてくれ
ます. でも mswin32 版なら意味があるか.

それより ruby の場合実際に fnmatch に渡ってくるときはすでに
ディレクトリ情報はなく DOSISH どころか FNM_PATHNAME も要らな
いことに今気づきました.
本当に DOSISH にするには dir.c のほうをいじらなきゃ駄目なわ
けで…, やっぱそれはやめよう.
というわけで ruby 専用に FNM_PATHNAME も削ってもっと小さくし
ちゃうのがいいのかもしれない.

:また、SJIS の2バイト文字の2バイト目は('*' や '?'など)
:何来るか分からないので、たとえば pattern のエンコーディングが
:SJIS だと相当不思議な挙動に悩まされそうです。

SJIS の 2 バイト目は 0x40 以上なので '*' や '?' は大丈夫です.
SJIS 以外だったら問答無用で downcase() しても ok だし.
あ, isupper() するまえに isascii() して確かめないといけないんだった.

日本語対応は追々.

-- 
わたなべひろふみ

In This Thread

Prev Next