More idiomatic

This commit is contained in:
Roberto Alsina 2024-08-15 22:01:50 -03:00
parent cb09dff9f1
commit 20d6b65346
2 changed files with 9 additions and 9 deletions

View File

@ -31,7 +31,6 @@ module BytesRegex
end
def match(str : Bytes, pos = 0) : Array(Match)
match = [] of Match
rc = LibPCRE2.match(
@re,
str,
@ -42,18 +41,19 @@ module BytesRegex
nil)
if rc > 0
ovector = LibPCRE2.get_ovector_pointer(@match_data)
(0...rc).each do |i|
(0...rc).map do |i|
m_start = ovector[2 * i]
m_size = ovector[2 * i + 1] - m_start
if m_size == 0
m_end = ovector[2 * i + 1]
if m_start == m_end
m_value = Bytes.new(0)
else
m_value = str[m_start...m_start + m_size]
m_value = str[m_start...m_end]
end
match << Match.new(m_value, m_start, m_size)
Match.new(m_value, m_start, m_end - m_start)
end
else
[] of Match
end
match
end
end

View File

@ -38,7 +38,7 @@ module Tartrazine
# No match
return false, pos, [] of Token if match.size == 0
return true, pos + match[0].size, actions.flat_map { |action| action.emit(match, lexer) }
return true, pos + match[0].size, actions.flat_map(&.emit(match, lexer))
end
def initialize(node : XML::Node)
@ -80,7 +80,7 @@ module Tartrazine
NO_MATCH = [] of Match
def match(text, pos, lexer) : Tuple(Bool, Int32, Array(Token))
return true, pos, actions.flat_map { |action| action.emit(NO_MATCH, lexer) }
return true, pos, actions.flat_map(&.emit(NO_MATCH, lexer))
end
def initialize(node : XML::Node)