class Aio::Text::CompareDiff

Attributes

cm1[RW]

cm1 = [ MatchStringInfo_A, MatchStringInfo_A, .. ]

cm2[RW]

cm1 = [ MatchStringInfo_A, MatchStringInfo_A, .. ]

Public Class Methods

new() click to toggle source
# File lib/aio/core/text/compare.rb, line 48
def initialize
  @cm1 = []
  @cm2 = []
end

Public Instance Methods

<<(info) click to toggle source

info #=> { :cm => :cm1, :e => [cmd, key, match_string_info] }

# File lib/aio/core/text/compare.rb, line 54
def <<(info)
  case info[:cm]
  when :cm1
    @cm1 << info[:e].pop
  when :cm2
    @cm2 << info[:e].pop
  end
end
content() click to toggle source

文本

# File lib/aio/core/text/compare.rb, line 69
def content
  return [""] if cm1.first.nil?
  cm1.first.content
end
content_compare() click to toggle source

比较的文本

# File lib/aio/core/text/compare.rb, line 75
def content_compare
  return [""] if cm2.first.nil?
  cm2.first.content
end
content_muster() click to toggle source

两个文本集合

# File lib/aio/core/text/compare.rb, line 64
def content_muster
  { cm1: content, cm2: compare_content }
end
lines() click to toggle source
# File lib/aio/core/text/compare.rb, line 84
def lines
  res = []
  cm1.each do |e|
    res << e.line
  end

  res.uniq
end
lines_compare() click to toggle source
# File lib/aio/core/text/compare.rb, line 93
def lines_compare
  res = []
  cm2.each do |e|
    res << e.line
  end

  res.uniq
end
lines_muster() click to toggle source

所有不同行的集合

# File lib/aio/core/text/compare.rb, line 103
def lines_muster
  { cm1: lines, cm2: lines_compare }
end
size() click to toggle source
# File lib/aio/core/text/compare.rb, line 80
def size
  cm1.size
end