Class: Regexp::Expression::EscapeSequence::CodepointList
- Inherits:
-
Base
- Object
- Base
- Base
- Regexp::Expression::EscapeSequence::CodepointList
show all
- Defined in:
- lib/regexp_parser/expression/classes/escape_sequence.rb,
lib/regexp_parser/expression/methods/match_length.rb
Instance Attribute Summary
Attributes inherited from Base
#conditional_level, #level, #nesting_level, #options, #quantifier, #set_level, #text, #token, #ts, #type
Instance Method Summary
collapse
Methods inherited from Base
#ascii_classes?, #attributes, #base_length, #case_insensitive?, #coded_offset, #default_classes?, #free_spacing?, #full_length, #greedy?, #initialize, #initialize_copy, #is?, #match, #match?, #multiline?, #offset, #one_of?, #possessive?, #quantified?, #quantifier_affix, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #terminal?, #to_re, #to_s, #type?, #unicode_classes?, #unquantified_clone
Instance Method Details
#char ⇒ Object
41
42
43
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 41
def char
raise NoMethodError, 'CodepointList responds only to #chars'
end
|
#chars ⇒ Object
49
50
51
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 49
def chars
codepoints.map { |cp| cp.chr('utf-8') }
end
|
#codepoint ⇒ Object
45
46
47
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 45
def codepoint
raise NoMethodError, 'CodepointList responds only to #codepoints'
end
|
#codepoints ⇒ Object
53
54
55
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 53
def codepoints
text.scan(/\h+/).map(&:hex)
end
|
#match_length ⇒ Object
160
161
162
|
# File 'lib/regexp_parser/expression/methods/match_length.rb', line 160
def match_length
MatchLength.new(self, base: codepoints.count)
end
|