日時 Wed, 12 Jul 2000 11:42:51 +0900 の
メール <E13CCU6-0001tE-00 / ev.netlab.zetabits.com> において
matz / netlab.co.jp (Yukihiro Matsumoto) さん曰く:

> |scan(re)
> |scan(re) {...}
> |   reで与えられる正規表現を文字列に対して繰り返しマッ チを行い,正規表現中の括
> |   弧で括られた部分にマッチした文字列を 配列として返します.正規表現が括弧を含
> |   まない場合はマッチした 部分文字列の配列を返します.ブロックを指定して呼び出
> |   された時に は,括弧で括られた部分にマッチする部分文字列(括弧を含まない 場合
> |   はマッチ全体)をブロックのパラメータとします.
> 
> 文案募集。

        scan(pattern)
        scan(pattern) {...}
               Returns the array of arrays which contain subpatterns
               corresponding parentheses in the pattern. Match will be
               done repeatedly to the end of the string. When called with
               the block, subpatterns are passed to the block as
               parameters.

英語版はもっと簡単だったのね。

某書物によると、

If the pattern contains no groups, each individual result consists of the
matched string, $&. If the pattern contains groups, each individual 
result is itself an array containing one entry per group.

と明確。これからすると、

    reで与えられる正規表現を文字列に対して繰り返しマッチを行い、
    正規表現中の括弧で括られたグループにマッチした文字列を、
    グループ毎の配列を要素として持つ配列を返します.正規表現が括弧で
    括られたグループを含まない場合は、マッチした文字列を要素とする
    配列を返します.

くらいかな。うーん、やっぱりわかりにくい。

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  g / kondara.org or kikutani / galaxy.net