instance method Object#to_regexp

to_regexp -> Regexp[permalink][rdoc][edit]

オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。

説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 正規表現が使われるすべての場面で代置可能であるような、
  • 正規表現そのものとみなせるようなもの

という厳しいものになっています。


class Foo
  def to_regexp
    /[\d]+/
  end
end

it = Foo.new
p Regexp.union(/^at/, it) #=> /(?-mix:^at)|(?-mix:[\d]+)/