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 Method Summary
collapse
Methods inherited from Base
#ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize, #match, #match?, #multiline?, #possessive?, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #to_h, #to_re, #unicode_classes?, #unquantified_clone
Methods included from Shared
#==, #base_length, #coded_offset, #ends_at, #full_length, #human_name, included, #initialize_copy, #inspect, #is?, #negated?, #negative?, #nesting_level=, #offset, #one_of?, #optional?, #parts, #pre_quantifier_decoration, #pretty_print, #pretty_print_instance_variables, #quantified?, #quantifier=, #quantifier_affix, #starts_at, #to_s, #token_class, #type?
Instance Method Details
#char ⇒ Object
40
41
42
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 40
def char
raise NoMethodError, 'CodepointList responds only to #chars'
end
|
#chars ⇒ Object
48
49
50
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 48
def chars
codepoints.map { |cp| cp.chr('utf-8') }
end
|
#codepoint ⇒ Object
44
45
46
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 44
def codepoint
raise NoMethodError, 'CodepointList responds only to #codepoints'
end
|
#codepoints ⇒ Object
52
53
54
|
# File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 52
def codepoints
text.scan(/\h+/).map(&:hex)
end
|
#match_length ⇒ Object
164
165
166
|
# File 'lib/regexp_parser/expression/methods/match_length.rb', line 164
def match_length
MatchLength.new(self, base: codepoints.count)
end
|