global
def lcs(seq1, seq2, &block) # :yields: seq1[i] for each matched
def lcs(seq1, seq2, &block) # :yields: seq1[i] for each matched matches = Diff::LCS::Internals.lcs(seq1, seq2) ret = [] string = seq1.is_a? String matches.each_index do |i| next if matches[i].nil? v = string ? seq1[i, 1] : seq1[i] v = block[v] if block ret << v end ret end