класс SyntaxSuggest::UnvisitedLines
Отслеживает, какие строки различных блоков кода были развернуты, а какие ещё не исследованы
Общедоступные методы класса
# File lib/syntax_suggest/unvisited_lines.rb, line 7
def initialize(code_lines:)
@unvisited = code_lines.sort_by(&:indent_index)
@visited_lines = {}
@visited_lines.compare_by_identity
end Общедоступные методы экземпляра
# File lib/syntax_suggest/unvisited_lines.rb, line 13 def empty? @unvisited.empty? end
# File lib/syntax_suggest/unvisited_lines.rb, line 17 def peek @unvisited.last end
# File lib/syntax_suggest/unvisited_lines.rb, line 21 def pop @unvisited.pop end
# File lib/syntax_suggest/unvisited_lines.rb, line 25
def visit_block(block)
block.lines.each do |line|
next if @visited_lines[line]
@visited_lines[line] = true
end
while @visited_lines[@unvisited.last]
@unvisited.pop
end
end
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.