global

def sdiff(seq1, seq2, callbacks = nil, &block) # :yields: diff changes

:yields: diff changes
end
end
# insert
when '+'
# delete
when '-'
# replace
when '!'
case action
Diff::LCS.sdiff(a, b).each do |action, (old_pos, old_element), (new_pos, new_element)|

which can be implicitly converted to an array.
Each element of a returned array is a Diff::LCS::ContextChange object,

#finish, it will be called.
initialise it. If the +callbacks+ object (possibly initialised) responds to
Class argument is provided for +callbacks+, #diff will attempt to
behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate

- > new
before | after
same same
old < -

sdiff does:
minimized differences side by side, just like the Unix utility
#sdiff computes all necessary components to show two sequences and their
def sdiff(seq1, seq2, callbacks = nil, &block) # :yields: diff changes
  diff_traversal(:sdiff, seq1, seq2, callbacks || Diff::LCS::SDiffCallbacks, &block)
end