4.4.3 Differ オブジェクト

Differオブジェクトによって抽出された差分は、最小単位の 差分を見ても問題なく抽出されます。反対に、最小の差分の場合にはこれとは 反対のように見えます。それらが、どこれも可能ときに同期するからです。 時折、思いがけなく100ページもの部分にマッチします。隣接するマッチ列の 同期するポイントを制限することで、より長い差異を算出する再帰的なコスト での、局所性の概念を制限します。

Differは、以下のようなコンストラクタを持ちます。

クラス Differ( [linejunk[, charjunk]])
オプションのパラメータlinejunkcharjunkはfilter関数の ために指定します(もしくはNoneを指定)。

linejunk:ひとつの文字列引数を受け取れるべき関数です。 文字列がjunkのときにtrueを返します。デフォルトでは、None であり、どんな行であってもjunkとは見なされません。

charjunk: この関数は(長さ1の)文字列を引数として受け取り、文字列が junkであるときにtrueを返します。デフォルトはNoneであり、どんな文字列も junkとは見なされません。

Differオブジェクトは、以下のひとつのメソッドによって使われます (違いを生成します)。

compare( a, b)
文字列からなる2つのシーケンスを比較し、差異(を表す文字列からなる シーケンス)を生成します。

Each sequence must contain individual single-line strings ending with newlines. Such sequences can be obtained from the readlines() method of file-like objects. The delta generated also consists of newline-terminated strings, ready to be printed as-is via the writelines() method of a file-like object. それぞれのシーケンスは、改行文字によって終了する、独立したひと連なりの 文字列でなければなりません。そのようなシーケンスは、ファイル形式オブジェクトの readline()メソッドによって得ることができます。(得られる)差異は 改行文字で終了する文字列として得られ、ファイル形式オブジェクトのwriteline() メソッドによって出力できる形になっています。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。