[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>

出沢です

22 messages 2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/22

From: しん <dezawa@aliadne.net>

[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です。

[ruby-list:42478] Re: ReFeデータベース構築失敗

From: Minero Aoki <aamine@...>
Date: 2006-06-24 05:25:32 UTC
List: ruby-list #42478
青木です。

  In mail "[ruby-list:42452] ReFeデータベース構築失敗"
  MIYAJIMA Mitsuharu <miya@miyam.org> wrote:

> 宮嶋と申します。
> 
> 最新のリファレンスマニュアルから ReFeのデータベースを作ろうとすると以下
> のエラーが出て失敗するようです。
> 
> > mkrefe_rubyrefm man-rd-ja/*.rd
> > /usr/local/lib/ruby/site_ruby/1.8/refe/rubyrefmparser.rb:180:in `get_method_name':  (RuntimeError)
> > Array.rd:207: cannot get method name
> > "--- self+(other)\n"
> 
> ちょっと調べてみたのですが, Array#+ とかの項目で other の前に ( がある
> ことで正規表現がマッチしないようです。とりあえず以下のパッチで回避しま
> した。

これは、元データのほうがおかしいと思います。どうやら
インデックスを張るためにやってるようですけど、この記法は
(特に self[](a) みたいのは) Ruby のコードとしても通用
しないし、慣習的な Class#method 記法でもないので、不適切
だと思います。

ひとまず ReFe の CVS 版には対応コードを入れておきますが、
この記法が長期に渡って使われるのは拒否したい気持ちです。

Index: lib/refe/rubyrefmparser.rb
===================================================================
RCS file: /var/cvs/src/refe/lib/refe/rubyrefmparser.rb,v
retrieving revision 1.12
diff -u -r1.12 rubyrefmparser.rb
--- lib/refe/rubyrefmparser.rb  2 Nov 2005 22:51:58 -0000       1.12
+++ lib/refe/rubyrefmparser.rb  24 Jun 2006 05:22:01 -0000
@@ -239,6 +239,8 @@
         $1
       when /\A(?:---|:)\s*([A-Z]\w+\*)/                      # HKEY_*
         $1
+      when /\A(?:---|:)\s*self([+\-<>=~*^&|%\/\[\]]+)\(\w/   # self+(other)
+        $1
       else
         nil
       end

--
青木峰郎

In This Thread