Class: Regexp

Inherits:
Object show all
Defined in:
lib/core/facets/conversion.rb,
lib/core/facets/regexp/arity.rb

Instance Method Summary collapse

Instance Method Details

#arityObject

Returns the number of backreferencing subexpressions.

/(a)(b)(c)/.arity  #=> 3
/(a(b(c)))/.arity  #=> 3

Note that this is not perfect, especially with regards to x and embedded comments.

CREDIT: Trans


13
14
15
# File 'lib/core/facets/regexp/arity.rb', line 13

def arity
  source.scan( /(?!\\)[(](?!\?[#=:!>-imx])/ ).length
end

#to_re(esc = false) ⇒ Object

Simply returns itself. Helpful when converting strings to regular expressions, where regexp might occur as well –in the same vien as using #to_s on symbols. The parameter is actaully a dummy parameter to coincide with String#to_re.

/abc/.to_re  #=> /abc/

CREDIT: Trans


298
299
300
# File 'lib/core/facets/conversion.rb', line 298

def to_re( esc=false )
  self  # Of course, things really should know how to say "I" ;)
end

#to_regexpObject

Like #to_re, but following Ruby’s formal definitions, only a Regular expression type object will respond to this.

Note that to be of much real use this should be defined in core Ruby.

CREDIT: Florian Gross


309
310
311
# File 'lib/core/facets/conversion.rb', line 309

def to_regexp
  self
end