Project

General

Profile

Actions

Bug #3319

closed

Regexp#unionの説明と動作で食い違いがある。

Added by tarui (Masaya Tarui) almost 14 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 1.9.2dev (2010-05-18 revision 27873) [i386-mswin32_90]
Backport:
[ruby-dev:41354]

Description

=begin
樽家です。

[ruby-dev:41247]から議論したもので、Regexp#unionの説明と動作で食い違いがあります。

食い違いの具体的な例については、
[ruby-dev:41247]及び[ruby-dev:41267]を参照ください。
内容としては、
ドキュメントでは要素のどれにでもマッチする正規表現を返すとしているのに対し、
実装では、
・後方参照を含む場合に他の要素の影響を受けて参照対象がずれる可能性がある。
・文字コード10を意味していた'\10'が後方参照として扱われる可能性がある。
・同じ名前の名前付き捕獲式集合を持つ要素同士のunionではエラーになる。
といったものです。

スレッドの中では動作の方を仕様とするという意見でしたので、苦手ながら英語ドキュメントの修正版を考えてみました。
結局 string-operated と probably を追加しただけですが、こんなのでいいんでしょうか?。。。

Return a Regexp object that is the string-operated union of the given patterns, i.e.,
will probably match any of its parts. The patterns can be Regexp objects, in
which case their options will be preserved, or Strings. If no
arguments are given, returns /(?!)/.
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0